[Openmcl-devel] “Prehistoric” MCL
mikel evins
mevins at me.com
Sat Mar 5 09:15:21 PST 2022
Yep, Newtonscript also used a prototype-based object system, broadly similar to Object Lisp and Self. Javascript sort of resembles Newtonscript, enough so that I wonder if Brendan Eich was familiar with it.
And Ralf Stoye reminded us that MCL had stack groups. I'd forgotten!
> On Mar 5, 2022, at 11:11 AM, Jeremy Jones <jaj at clozure.com> wrote:
>
> The CLOS window system got a lot from the Object Lisp window. In Object Lisp you do something like (I'm sure that I'm mis-rembering details):
>
> (setq w (oneof window))
>
> And a window would appear. You could move it, resize it, etc. Then you could do:
>
> (ask w (add (oneof button)))
>
> And a clickable button would appear in the window.
>
> I was disappointed when the Common Lisp committee chose Flavors as the basis of CLOS. It was understandable given the clout of Symbolics.
>
> Javascript, the most popular programming language in the world, has a lot of similarities to Object Lisp. Both are prototype based instead of class based. You can make a new object that inherits from another. You can share the parent's variables and functions, or you can give it it's own:
>
> (ask w
> (have 'title)
> (setq title "My Window"))
>
>
> On Sat, Mar 5, 2022, 11:17 AM mikel evins <mevins at me.com <mailto:mevins at me.com>> wrote:
> My memory is that the UI framework in Object Lisp and, later, CLOS, was much easier and more convenient to work with than other ways of building classic Mac user interfaces. One reason is that you could build up a UI interactively in real time by evaluating Lisp expressions at the Listener. After the transition to CLOS, you could make a working window that responded appropriately to mouse events by saying
>
> (make-instance 'window)
>
> I don't remember the exact Object Lisp syntax, but it was similarly simple.
>
> The Mac got threads in System 7, in the form of the Thread Manager. If I remember right, MCL/CCL didn't get thread support until the OpenMCL fork, though you could have used MCL's toolbox interface to talk to the Thread Manager before that.
>
> Before OSX the Mac system was a cooperative multitasking system using what is nowadays called green threads.
>
>> On Mar 5, 2022, at 1:18 AM, Tim McNerney <mc at media.mit.edu <mailto:mc at media.mit.edu>> wrote:
>>
>> Thanks for pointers to the “digital orphans” web museums.
>> Which brings me back to my other question…
>> Some of us remember that building a “well behaved GUI” for the Mac was a pain to code.
>> Did ObjectLisp and successors make this any easier with their OOness?
>> Could I implement widgets that responded to mouse clicks “on their own,”
>> or was there always editing of the dreaded “main event loop” for each new widget?
>> Some examples, if handy, would be good fodder for conversation.
>> Lastly, when did MacOS get full-fledged threads?
>> Or, since I’m taking to MCL devs, when did CCL start supporting threads?
>>
>> --Tim
>>
>>> On Mar 4, 2022, at 13:23, Jeremy Jones <jaj at clozure.com <mailto:jaj at clozure.com>> wrote:
>>>
>>>
>>> Thanks Gene! They appear to have disk images of lots of old stuff.
>>>
>>> They even have MCL 1.3 (pre-CLOS)!
>>> https://macintoshgarden.org/apps/macintosh-allegro-common-lisp <https://macintoshgarden.org/apps/macintosh-allegro-common-lisp>
>>>
>>> I've been wanting to play with Object Lisp. A weekend project!
>>>
>>>
>>> On Fri, Mar 4, 2022, 11:37 AM Gene Z. Ragan <gene at semitone.audio <mailto:gene at semitone.audio>> wrote:
>>> The Macintosh Garden is a nice resource for classic software releases.
>>>
>>> https://macintoshgarden.org/apps/macintosh-common-lisp-20 <https://macintoshgarden.org/apps/macintosh-common-lisp-20>
>>> https://macintoshgarden.org/apps/pearl-lisp <https://macintoshgarden.org/apps/pearl-lisp>
>>> https://macintoshgarden.org/apps/macintosh-allegro-common-lisp <https://macintoshgarden.org/apps/macintosh-allegro-common-lisp>
>>> https://macintoshgarden.org/apps/xlisp <https://macintoshgarden.org/apps/xlisp>
>>>
>>> You may be able to find what you are looking for there.
>>>
>>> Gene
>>>
>>>> On Mar 3, 2022, at 10:26 PM, Tim McNerney <mc at media.mit.edu <mailto:mc at media.mit.edu>> wrote:
>>>>
>>>> Motivated by my recent purchase of a refurbished Mac Classic (*),
>>>> I am searching for a couple of types of “prehistoric” software.
>>>> 1) 68000 MCL that runs in 4MB of RAM and a tiny B/W screen. (**)
>>>> 2) examples of early Mac apps written in MCL with decent UIs.
>>>>
>>>> (*) With a BlueSCSI SSD instead of a fragile HDD.
>>>>
>>>> Is the rumor true that Coral Software delivered a complete Common Lisp
>>>> compressed onto a single 9cm floppy? (3 1/2”)
>>>>
>>>> (**) I’m not looking for one of these physical floppies.
>>>> 9cm floppies were notorious, even brand new, of not being archival.
>>>> Some sort of disk image would be better.
>>>>
>>>> --Tim
>>>> _______________________________________________
>>>> Openmcl-devel mailing list
>>>> Openmcl-devel at clozure.com <mailto:Openmcl-devel at clozure.com>
>>>> https://lists.clozure.com/mailman/listinfo/openmcl-devel <https://lists.clozure.com/mailman/listinfo/openmcl-devel>
>>>
>>> _______________________________________________
>>> Openmcl-devel mailing list
>>> Openmcl-devel at clozure.com <mailto:Openmcl-devel at clozure.com>
>>> https://lists.clozure.com/mailman/listinfo/openmcl-devel <https://lists.clozure.com/mailman/listinfo/openmcl-devel>
>> _______________________________________________
>> Openmcl-devel mailing list
>> Openmcl-devel at clozure.com <mailto:Openmcl-devel at clozure.com>
>> https://lists.clozure.com/mailman/listinfo/openmcl-devel <https://lists.clozure.com/mailman/listinfo/openmcl-devel>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.clozure.com/pipermail/openmcl-devel/attachments/20220305/1aa939e5/attachment.htm>
More information about the Openmcl-devel
mailing list