- McCLIM
- implements the Common Lisp Interface Manager (CLIM) within a free/open source software licensing model
- available with an "adapter", formally a "graft" for a number of window systems and GUI platforms, including X11 (CLX) and Cairo UI (GTK Cairo)
- CLIM defines the class, application-frame
- The class clim:application-frame may be extended to define a class, ide-frame
- The class ide-frame may be defined such as to provide a convenient baseline for development of graphical IDE view elements
- A configuration parser may be defined as associated with the class, ide-frame
- IDE view elements may be defined in a manner reminiscent of graphical application interface elements as defined within popular IDE tools, such as:
- Filesystem view
- parameter: Root filesystem pathname (pathname directory)
- parameter: Filesystem element filter function
- arg: filesystem pathname
- return: boolean "display-p" value
- File view
- parameter: File pathname
- associated concept: File view controller
- define as a CLOS class, file-view-controller
- dispatch on filesystem type, e.g. (defgeneric get-file-view (file controller))
- initialize class and bind to *default-file-view-controller*
- reference class of file view controller within IDE configuration data
- Workspace view
- Extend on workspace definitions created by Eclipse IDE
- define parsers for workspace metadata as created by the Eclipse IDE
- include "check" for "workspace in use", preventing access to files within a "workspace in use", to minimize concurrency conflicts during file editing
- Workspace URI, index, and structure -- CORBA (TO DO: IDL Interfaces)
- SCCM views
- SCCM local source tree view, and SCCM repository view
- dispatch SCCM view selection per type of SCCM system in use within a root SCCM directory
- incorporate with an interface (FFI, shell commands, or Lisp) onto each supported SCCM model (cf. Emacs VC Mode)
- Observe that a local source tree for an SCCM system such as Git would be, simultaneously, a local source tree and an SCCM repository
- SCCM repository URI and index system -- CORBA (TO DO: IDL Interfaces)
- Toolchain views
- Reminiscent of Eclipse IDE perspective definitions (???) but focused on discrete classes of toolchain elements
- Toolchain category: GCC
- Tooclhain category: Lisp interpreter
- ...
- To do: Prototype sometime after defining a CLIM adapter i.e. "graft" and/or CLIM widget layer onto CommonQt (?)
- Requirement: Suitable HCI responsiveness
- Alternate consideration: Native XLib FFI interface (CFFI)
- Implement: X11 SHM interfaces
- Limitation: Further complexity in CLIM HCI model on Microsoft Windows platforms
- The Microsoft Windows Explorer Desktop Shell is not X11R6
- cf. XMing and/or Cygwin
- Limitation: Applicability of Shared Memory models in Common Lisp applications
- Objects referencing shared memory
- Shared memory references should remain immutable (?)
- Alterate consideration: Use GTK Cairo interface on Microsoft Windows Platforms
- GTK Cairo integration for mobile OSes?
- Firefox OS (?)
Friday, June 20, 2014
Towards an IDE Model for McCLIM (Draft 2)
Outline:
Labels:
CLIM,
CommonQt,
CORBA,
CORBA IDL,
Distributed IDE,
Eclipse IDE,
McCLIM
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment