Dear All, I've recently started working a bit on improving McCLIM manual and wrote initial versions of two sections: Development history old: https://mcclim.common-lisp.dev/static/documents/d35e5b1-mcclim-doc-current.h... new: https://mcclim.common-lisp.dev/static/documents/3d6249-mcclim-doc-sketch.htm... Time between 2002 and 2016 is based on git history and very helpful comments from Christophe Rhodes and Gilbert Baumann. It is a draft and I'm writing here to ask old timers to comment on adequacy from the historical perspective (if anyone can recall) and whether people are correctly attributed. I did my best to balance contribution importance based on little info I had. I've also rebalanced a bit years 2000-2002 to focus less on Gsharp (but still preserve all attributions) and more on the codebase merge and presentation system development. As much as I'd like to, it is hard to be objective about recent years 2016-2026 given my constant involvement, so if you have a different perspective then please offer corrections. Please write on the mailing list what do you think of it and suggest further improvements if there are any. Getting Started old: https://mcclim.common-lisp.dev/static/documents/d35e5b1-mcclim-doc-current.h... new: https://mcclim.common-lisp.dev/static/documents/3d6249-mcclim-doc-sketch.htm... I've also written an new Getting Started section. Instead of a few disconnected toy applications I've tried to describe one that covers clim-specific basics - frames, presentation types, commands and translators. Gathering feedback on this is also important to me. Thank you, Daniel -- Daniel Kochmański ;; aka jackdaniel | Przemyśl, Poland TurtleWare - Daniel Kochmański | www.turtleware.eu "Be the change that you wish to see in the world." - Mahatma Gandhi
Thanks, I like the revised development history as the organisation into sections and the exposition conveys the various development efforts and how they merged. By the way, does McCLIM have a file selector? As for the Getting Started chapter, I'd like to take some time to read it in more depth. The first impression is that the old version feels like a tutorial and the new one is like a reference. I don't mind the old version which quickly goes to the point, describes a complete working example program, and iterates by adding functionality and describing the additional features. The descriptions and the working code offer a concrete understanding of the basics of CLIM as well as the main concepts and terms. The new version feels more abstract as it starts from a long, possibly overwhelming (for a newcomer) list of terms and presents program fragments that, despite the screenshots, may not give a complete idea of what to expect from the examples. On Sun, Feb 1, 2026 at 11:24 PM Daniel Kochmański <daniel@turtleware.eu> wrote:
Dear All,
I've recently started working a bit on improving McCLIM manual and wrote initial versions of two sections:
Development history old: https://mcclim.common-lisp.dev/static/documents/d35e5b1-mcclim-doc-current.h... new: https://mcclim.common-lisp.dev/static/documents/3d6249-mcclim-doc-sketch.htm...
Time between 2002 and 2016 is based on git history and very helpful comments from Christophe Rhodes and Gilbert Baumann. It is a draft and I'm writing here to ask old timers to comment on adequacy from the historical perspective (if anyone can recall) and whether people are correctly attributed. I did my best to balance contribution importance based on little info I had.
I've also rebalanced a bit years 2000-2002 to focus less on Gsharp (but still preserve all attributions) and more on the codebase merge and presentation system development.
As much as I'd like to, it is hard to be objective about recent years 2016-2026 given my constant involvement, so if you have a different perspective then please offer corrections.
Please write on the mailing list what do you think of it and suggest further improvements if there are any.
Getting Started old: https://mcclim.common-lisp.dev/static/documents/d35e5b1-mcclim-doc-current.h... new: https://mcclim.common-lisp.dev/static/documents/3d6249-mcclim-doc-sketch.htm...
I've also written an new Getting Started section. Instead of a few disconnected toy applications I've tried to describe one that covers clim-specific basics - frames, presentation types, commands and translators. Gathering feedback on this is also important to me.
Thank you, Daniel
-- Daniel Kochmański ;; aka jackdaniel | Przemyśl, Poland TurtleWare - Daniel Kochmański | www.turtleware.eu
"Be the change that you wish to see in the world." - Mahatma Gandhi
-- Paolo Amoroso <https://paoloamoroso.com> | Blog <https://journal.paoloamoroso.com> | Mastodon <https://oldbytes.space/@amoroso>
I read the Getting started chapter in full and now agree with your approach. The new version covers the same material with similar progression but there are a couple of minor issues. The formatting of some of the examples is broken: see the code of sections 1.2.6 Presentation type, 1.2.7 Defining commands, 1.2.8 Presentation translators, and 1.2.9 Display function. Also, package names and symbols in package definitions are expressed as strings, keywords, and uninterned symbols. A newcomer may wonder why some code expresses symbols in a particular way, so more consistency may help. PS The email address of Gilbert bounces. On Mon, Feb 2, 2026 at 1:23 PM Paolo Amoroso <paolo.amoroso@gmail.com> wrote:
Thanks, I like the revised development history as the organisation into sections and the exposition conveys the various development efforts and how they merged. By the way, does McCLIM have a file selector?
As for the Getting Started chapter, I'd like to take some time to read it in more depth. The first impression is that the old version feels like a tutorial and the new one is like a reference.
I don't mind the old version which quickly goes to the point, describes a complete working example program, and iterates by adding functionality and describing the additional features. The descriptions and the working code offer a concrete understanding of the basics of CLIM as well as the main concepts and terms.
The new version feels more abstract as it starts from a long, possibly overwhelming (for a newcomer) list of terms and presents program fragments that, despite the screenshots, may not give a complete idea of what to expect from the examples.
On Sun, Feb 1, 2026 at 11:24 PM Daniel Kochmański <daniel@turtleware.eu> wrote:
Dear All,
I've recently started working a bit on improving McCLIM manual and wrote initial versions of two sections:
Development history old: https://mcclim.common-lisp.dev/static/documents/d35e5b1-mcclim-doc-current.h... new: https://mcclim.common-lisp.dev/static/documents/3d6249-mcclim-doc-sketch.htm...
Time between 2002 and 2016 is based on git history and very helpful comments from Christophe Rhodes and Gilbert Baumann. It is a draft and I'm writing here to ask old timers to comment on adequacy from the historical perspective (if anyone can recall) and whether people are correctly attributed. I did my best to balance contribution importance based on little info I had.
I've also rebalanced a bit years 2000-2002 to focus less on Gsharp (but still preserve all attributions) and more on the codebase merge and presentation system development.
As much as I'd like to, it is hard to be objective about recent years 2016-2026 given my constant involvement, so if you have a different perspective then please offer corrections.
Please write on the mailing list what do you think of it and suggest further improvements if there are any.
Getting Started old: https://mcclim.common-lisp.dev/static/documents/d35e5b1-mcclim-doc-current.h... new: https://mcclim.common-lisp.dev/static/documents/3d6249-mcclim-doc-sketch.htm...
I've also written an new Getting Started section. Instead of a few disconnected toy applications I've tried to describe one that covers clim-specific basics - frames, presentation types, commands and translators. Gathering feedback on this is also important to me.
Thank you, Daniel
-- Daniel Kochmański ;; aka jackdaniel | Przemyśl, Poland TurtleWare - Daniel Kochmański | www.turtleware.eu
"Be the change that you wish to see in the world." - Mahatma Gandhi
-- Paolo Amoroso <https://paoloamoroso.com> | Blog <https://journal.paoloamoroso.com> | Mastodon <https://oldbytes.space/@amoroso>
-- Paolo Amoroso <https://paoloamoroso.com> | Blog <https://journal.paoloamoroso.com> | Mastodon <https://oldbytes.space/@amoroso>
Hello Paolo, thank you for taking your time to read updated documentation.
By the way, does McCLIM have a file selector?
Not that I'm aware of. Perhaps it was scrapped at some point. Writing a basic gadget for that purpose wouldn't be very hard though - polishing it would be. For example clim-listener already has presentation-based file explorer -- subsequent directories are presented after each command, but that could be rehashed to be put in a single redisplaying output block in a dialog I think.
As for the Getting Started chapter, I'd like to take some time to read it in more depth. The first impression is that the old version feels like a tutorial and the new one is like a reference.
I read the Getting started chapter in full and now agree with your approach.
Thank you, that's encouraging.
The new version covers the same material with similar progression but there are a couple of minor issues.
Thanks, for some reason I didn't catch formatting issues. I must have accidently hit M-q (maybe?). In any case these are fixed now.
Also, package names and symbols in package definitions are expressed as strings, keywords, and uninterned symbols. A newcomer may wonder why some code expresses symbols in a particular way, so more consistency may help.
Technically these are consistent. Package designators are strings -- people often use symbols, and that's more common since ACL introduced "modern-case" reader by default, but that's rather a hysterical detail. The same goes for package names in :use section etc. Exported and exported symbols are also designated by symbol-names (specified to be string designators). Keeping them as strings prevents unnecessary interning symbols in whichever *PACKAGE* the DEFPACKAGE form is evaluated. It is not a huge win, because what a few more symbols matter, but technically it is proper. And DEFPACKAGE has its own options that are named by keywords, so symbols like :use and :import are very much necessary to write a correct package definition. I've updated the documentation under the same url: https://mcclim.common-lisp.dev/static/documents/3d6249-mcclim-doc-sketch.htm... I've also uploaded a missing screenshot. Thanks again for reading it. Best regards, Daniel -- Daniel Kochmański ;; aka jackdaniel | Przemyśl, Poland TurtleWare - Daniel Kochmański | www.turtleware.eu "Be the change that you wish to see in the world." - Mahatma Gandhi
Hi On Mon, Feb 02, 2026 at 01:23:52PM +0100, Paolo Amoroso wrote:
Thanks, I like the revised development history as the organisation into sections and the exposition conveys the various development efforts and how they merged. By the way, does McCLIM have a file selector?
Hm, I had implemented a file selector in 2005. Is that not included in McClim anymore? Its last version is 1.3 from 2005-10-13 here on my local computer. Maybe I could see if that still works and publish it, but I really think it should have been published back then. I used it in a few projects for sure. We certainly also discussed it on the Climacs mailing list. Here is an old post of it from 2005 that mentions it: Conditional Commands (And Sheets) Extension for McCLIM Max-Gerd Retzlaff, November 24, 2005 https://blog.matroid.org/display/18 Here are three screenshots linked, where it is running stand-alone as a file dialog and also integrated into the Clim Listener and Climacs: - https://www.matroid.org/flux/File-Selector-in-its-own-window-1.0.png - https://www.matroid.org/flux/File-Selector-embedded-into-the-Clim-Listener-1... - https://www.matroid.org/flux/File-Selector-as-Find-File-of-Climacs.png Well it is really not a big thing but it worked and was usable. I hacked a couple of years on McClim and a bit on McClim related projects such as the Clim Listener and Climacs from 2005 till probably around 2008, or even 2011 maybe. But not longer. You should find a few entries from me in McClim's git history, although my earlier patches were committed by Robert Strandh. I worked on accepting-values, the Listener, panes, drag-and-drop. And contributed a few examples and extensions: the Tab Layout pane (used by beirc), the Town Example which demonstrates presentations, the Conditional Commands (And Sheets) Extension, maybe more. Well, I had introduced McClim in my student's job at the university working on some robotics research system and tried to get the parts of McClim working that I needed to use. There is a simple clim-launcher: - source code: https://www.matroid.org/flux/clim-launcher-20060125-01.tar.bzip2 https://www.matroid.org/flux/clim-launcher/ - screenshot (it is in the bottom right) https://www.matroid.org/flux/CLIM-Desktop-20060124-1.png My LED Cube Modeller, a little art project from 2004, also has a toolbox GUI written in McClim: https://blog.matroid.org/files/20061011-LED-cube-modeller-paraflows/cube-mod... The main windows is OpenGL and it can control a real physical LED cube connected via a serial port. Here is a blog post on it: LED Cube Modeller, Paraflows edition, and Hacking OpenGL (in Lisp) Max-Gerd Retzlaff, October 13, 2006 https://blog.matroid.org/display/43 The source code is also linked, or here: https://www.matroid.org/resources/LED-cube-modeller/ I actually took that thing out again, got it connected again and wanted to get that project compile again end of last year, as the old IA32 binaries do not want to run anymore. :) But I did not get much further than having McClim to run again on my current machine. From Berlin, Max PS: Are there any clim hackers located in Berlin? If so please write. :)
As for the Getting Started chapter, I'd like to take some time to read it in more depth. The first impression is that the old version feels like a tutorial and the new one is like a reference.
I don't mind the old version which quickly goes to the point, describes a complete working example program, and iterates by adding functionality and describing the additional features. The descriptions and the working code offer a concrete understanding of the basics of CLIM as well as the main concepts and terms.
The new version feels more abstract as it starts from a long, possibly overwhelming (for a newcomer) list of terms and presents program fragments that, despite the screenshots, may not give a complete idea of what to expect from the examples.
On Sun, Feb 1, 2026 at 11:24 PM Daniel Kochmański <daniel@turtleware.eu> wrote:
Dear All,
I've recently started working a bit on improving McCLIM manual and wrote initial versions of two sections:
Development history old: https://mcclim.common-lisp.dev/static/documents/d35e5b1-mcclim-doc-current.h... new: https://mcclim.common-lisp.dev/static/documents/3d6249-mcclim-doc-sketch.htm...
Time between 2002 and 2016 is based on git history and very helpful comments from Christophe Rhodes and Gilbert Baumann. It is a draft and I'm writing here to ask old timers to comment on adequacy from the historical perspective (if anyone can recall) and whether people are correctly attributed. I did my best to balance contribution importance based on little info I had.
I've also rebalanced a bit years 2000-2002 to focus less on Gsharp (but still preserve all attributions) and more on the codebase merge and presentation system development.
As much as I'd like to, it is hard to be objective about recent years 2016-2026 given my constant involvement, so if you have a different perspective then please offer corrections.
Please write on the mailing list what do you think of it and suggest further improvements if there are any.
Getting Started old: https://mcclim.common-lisp.dev/static/documents/d35e5b1-mcclim-doc-current.h... new: https://mcclim.common-lisp.dev/static/documents/3d6249-mcclim-doc-sketch.htm...
I've also written an new Getting Started section. Instead of a few disconnected toy applications I've tried to describe one that covers clim-specific basics - frames, presentation types, commands and translators. Gathering feedback on this is also important to me.
Thank you, Daniel
-- Daniel Kochmański ;; aka jackdaniel | Przemyśl, Poland TurtleWare - Daniel Kochmański | www.turtleware.eu
"Be the change that you wish to see in the world." - Mahatma Gandhi
-- Paolo Amoroso <https://paoloamoroso.com> | Blog <https://journal.paoloamoroso.com> | Mastodon <https://oldbytes.space/@amoroso>
Hello, thanks for pointing out your contributions. I'll need to look into the history to see the file selector and compare it with John's selector and include one of these to fill the missing functionality. But this will wait for until I have dragged McCLIM towards the release (I'm fixing regressions and testing things since December with that single goal in mind :). Looking into git history you were active between 2005-2006 commit-wise. I know that this does not close the topic of contributions, because there are mailing lists and other projects like closure or beirc; that said going too deep into details is beyond my capability, so I'm going to trust git history and past contributor testimonies. Sorry for missing your these, they are certainly non-negligible. I've updated the documentation. The added sentence is: Max-Gerd Retzlaff (2005-2006) worked on panes and dialogs, improved clim-listener, and wrote the extensions Conditional Commands and tab-layout, as well as the demo Town Example. I've also updated the sketch on the server (https://mcclim.common-lisp.dev/static/documents/3d6249-mcclim-doc-sketch.htm...). Thanks, Daniel PS I've just checked in git history around 2006 (after your last commit), and there is no code that contains "file.*select", so I guess it was never committed.
Hello, Gilbert would like to point out that his name is written with an L: Gilbert Baumann <gilbert@bauhh.de> I've asked him to update his homepage. ;) From Berlin, Max On Sun, Feb 01, 2026 at 10:23:30PM +0000, Daniel Kochmański wrote:
Dear All,
I've recently started working a bit on improving McCLIM manual and wrote initial versions of two sections:
Development history old: https://mcclim.common-lisp.dev/static/documents/d35e5b1-mcclim-doc-current.h... new: https://mcclim.common-lisp.dev/static/documents/3d6249-mcclim-doc-sketch.htm...
Time between 2002 and 2016 is based on git history and very helpful comments from Christophe Rhodes and Gilbert Baumann. It is a draft and I'm writing here to ask old timers to comment on adequacy from the historical perspective (if anyone can recall) and whether people are correctly attributed. I did my best to balance contribution importance based on little info I had.
I've also rebalanced a bit years 2000-2002 to focus less on Gsharp (but still preserve all attributions) and more on the codebase merge and presentation system development.
As much as I'd like to, it is hard to be objective about recent years 2016-2026 given my constant involvement, so if you have a different perspective then please offer corrections.
Please write on the mailing list what do you think of it and suggest further improvements if there are any.
Getting Started old: https://mcclim.common-lisp.dev/static/documents/d35e5b1-mcclim-doc-current.h... new: https://mcclim.common-lisp.dev/static/documents/3d6249-mcclim-doc-sketch.htm...
I've also written an new Getting Started section. Instead of a few disconnected toy applications I've tried to describe one that covers clim-specific basics - frames, presentation types, commands and translators. Gathering feedback on this is also important to me.
Thank you, Daniel
-- Daniel Kochmański ;; aka jackdaniel | Przemyśl, Poland TurtleWare - Daniel Kochmański | www.turtleware.eu
"Be the change that you wish to see in the world." - Mahatma Gandhi
participants (3)
-
Daniel Kochmański -
Max-Gerd Retzlaff -
Paolo Amoroso