About 20 years ago I was involved in writing a control system for a movable 
grazing-incidence X-ray mirror, for use on Advanced Light Sources 
(Synchrotrons). We had the mirrors mounted on a hexapod, which gave us limited 
range motion in 6 axies (3 translation, 3 rotation).

The movements were very slight, and could barely be discerned by most people. 
So the control system was an artificial horizon display, like you find in 
aircraft, but with exaggerated movements on screen to help the human drivers.

This was all written in a modified (extended) version of Scheme, called STk, 
from one of the French Research Groups (INRIA) in Southern France. (Eric 
Galesio?). It had something akin to CLOS called STklos. But these were mainly 
Scheme CLOS-like wrappers around calls to Tk graphics routines.

At any rate, I mark the effort up as a major success at the time. We needed the 
Tk graphics system and I wanted a Lisp-like system that could be remotely 
controlled from our offices in Tucson, while the Beam Line was located in 
Berkeley, CA.

Today, you could certainly do a similar system with Lispworks/CAPI. But at the 
time, I was knee deep in Scheme on that project.

Your criticisms of Scheme are certainly valid. I don’t think that 
WITH-EXCEPTION-HANDLER even exists in SRFI 7 or whatever it was called. 

And I, personally, think the biggest lacking in Scheme is the macro system. Oh 
I know all about the raging arguments about hygienic macrology. But I wrote my 
own Lisp-like macro system for the STk system. I also had to extend it to 
provide TCP/IP connections to the outside world.

Basically, Scheme is a quick and dirty Lisp system that can be cobbled together 
in a few days. Common Lisp is massive in comparison.

I have waffled both ways over the decades, about which is better - 1 namespace, 
or multiple? For writing abstractions, like the Y-combinator, I like the lack 
of FUNCALL in Scheme. But for writing real code, I very much appreciate the 
separation of namespaces between funcitons and data that we have in Common Lisp.

- DM


> On Jun 17, 2024, at 17:26, Scott L. Burson <sc...@sympoiesis.com> wrote:
> 
>> It doesn’t surprise me that it’s not a “cleaned up CL” — isn’t it older than 
>> CL? Though I suppose it’s less ossified so could have evolved to be “newer.”
> 
> Hard to say, really.  While the original Scheme development was in the late 
> 1970s and the CL standardization effort didn't get going until a few years 
> later, CL's roots are of course much older, and it was strongly influenced by 
> Lisp Machine Lisp which was under development at about the same time as 
> Scheme.  The situation is fuzzy enough that I think the best you can do is to 
> call them roughly contemporaneous, with some cross-fertilization, notably in 
> CL's lexical scoping.
> 
> I've never attempted any substantial development in Scheme, but have wondered 
> whether I were missing anything, so Attila's observation is of interest.
> 
> -- Scott
> 
> On Mon, Jun 17, 2024 at 4:36 PM Don Morrison <d...@ringing.org 
> <mailto:d...@ringing.org>> wrote:
>> On Mon, Jun 17, 2024 at 6:10 PM Attila Lendvai attila.lend...@gmail.com 
>> <http://mailto:attila.lend...@gmail.com/> wrote:
>> 
>> scheme is not a cleaned up CL. it’s just another dialect.
>> 
>> It doesn’t surprise me that it’s not a “cleaned up CL” — isn’t it older than 
>> CL? Though I suppose it’s less ossified so could have evolved to be “newer.”
>> 
>> 
>> 
>> —
>> Don Morrison d...@ringing.org <http://mailto:d...@ringing.org/>
>> “The greatest crimes in the world are not committed by people breaking
>> the rules. It’s people who follow orders.” – Banksy, Wall and Peace
>> 

Reply via email to