Is there a CLIM v3 specification? And some questions on CLIM II/McCLIM
I was browsing Robert Strandh's repos when I found this: Sample implementation and specification of CLIM 3
Was a CLIM III at some point in the works? If so, what was the reason?
According to Wikipedia, CLIM II was released in 1993. Could it be that user interface design changed in such a way that the specification is somehow outdated in contemporary times? Stuff like responsive layouts, prevalence of touch controls, heavily stylized widgets, etc.
What is the main hindrance in the way of CLIM/McCLIM gaining more popularity in GUI app design? In the past, supporting only X backend was a problem but recently a SDL backend was added. So this should help that, no?
7 comments · 100% upvoted · other discussions
CLIM 1 & 2 are mostly dead. Those were commercial projects and offerings -> originally as closed source. CLIM 1 was a portable reimplementation in Common Lisp & CLOS of a subset of Symbolics Dynamic Windows. CLIM 2 was an update with support for other GUI platforms features (windows, menus, dialogs, fonts, gadgets...).
McCLIM is a completely independent & open source implementation of CLIM 2 plus many extensions.
CLIM 3 is an attempt of an independent & open source reinvention of CLIM
Some CLIM core concepts comes from a Lisp Machine UI and its underlying window system. Most current UIs work very different. It also can't easily be used/integrated in other languages. The number of users & developers able to work on it is very limited. It had some minor influence on DUIM ( https://opendylan.org/building-with-duim/index.html ) and Factor ( https://concatenative.org/wiki/view/Factor/UI ).
The maintained commercial GUI toolkits from Franz (Common Graphics -> https://franz.com/support/documentation/11.0/contents.html#cg ) and LispWorks (CAPI -> https://www.lispworks.com/documentation/lw80/capi-m/capi.htm) are extensive&maintained and support native look and feel on platforms like web browser (Allegro CL), Windows (both), macOS (LispWorks) and X11/Gtk (LispWorks, Allegro CL).
Small user and developer base. Different/unusual/old technology with a certain level of OO complexity. Very Lisp specific. Not commercially interesting.
friedrichRiemann [OP] 1 points · Aug 2024
It appears McCLIM programs have a tight integration with the CL image itself, like UI is inspectable like HTML. Are Franz and CAPI like this too? I thought they were more like Qt. A standalone GUI written using CL but not having a holistic integration with it.
lispm 3 points · Aug 2024
CAPI is written in Common Lisp and runs inside a Common Lisp. It calls into platform functionality (like Gtk+ on Linux/UNIX). But much of the stuff is accessible via a large CLOS-based interface. That's not different from CLIM, but CAPI is much more oriented towards standard GUIs and has an extensive feature set for that. It's well documented. The main drawback of CAPI is that it is closed source. A good example of what can be achieved with CAPI on Windows and macOS is the OpusModus software (->https://opusmodus.com/ ), a music composition application.
Common Graphics is also proprietary, but I think one can get parts of the sources as a paying customer.
McCLIM is all open source licensed under LGPL-2.1. The focus is generally not on commercial platforms like Windows and macOS and their native user interface systems.