In going through some old papers, I ran across these very interesting documents from long ago that I can't seem to find public reference to. They seem to offer some important historical insight about the Dylan language. This is from back when Dylan was called Ralph as a working title. In those days, the still-being-designed Lisp-like language had not yet moved to an infix syntax, and it looked and acted more like Scheme with an object system similar in spirit to CLOS (the Common Lisp Object System).

My understanding is that there were some fairly deliberate choices made to NOT target the Lisp or Scheme community as users, which is part of why the move to infix. I think they wanted to appeal to a disaffected C++ crowd, but ultimately lost out to Java for that bid, and then having left the Lisp user base behind, ended up with a very small community as a result.

But I still think there could be things the Scheme community would want to glean from this snapshot of history.

I've included a scan of an email proposal I got from Dave Moon while he and I were at Symbolics, with his proposal for how to add conditions to the language. Note that Dylan did eventually go public and did have a condition system, so you could also just study that design directly. But what's useful here is to see how all that looked syntactically in a Scheme-like syntax. But, in that regard, I recommend starting by looking at the language itself.

[0] Ralph: A Dynamic Language with Efficient Application Delivery, by Andrew LM Shalit, July 25, 1991.
https://nhplace.com/kent/History/dylan/ralph-1991-07-25.pdf

[1] Ralph Conditions (part 1 of 2)
https://nhplace.com/kent/History/dylan/ralph-moon-conditions-proposal-v1.1-part-1-of-2-1991-08-14.pdf

[2] Ralph Conditions (part 2 of 2)
https://nhplace.com/kent/History/dylan/ralph-moon-conditions-proposal-v1.1-part-2-of-2-1991-08-14.pdf

cc @sigue @ramin_hal9001 @screwlisp

#DylanLang #RalphLang #ComputerHistory #Harlequin #Lisp #CommonLisp #ConditionSystem #ConditionHandling #ErrorSystem #Scheme #SchemeLang #CLOS #AppleHistory #KentsHistoryProject

#lispyGopherClimate #outOfSorts some #lisp notes.

https://toobnix.org/w/tUwoahedgS3ZUihcCgKoT7

#lispyGopherClimate #outOfSorts some #lisp notes.

PeerTube

P.S.

Nice fractal!

The index is a good read:
...
circular-link 60
...
no-file-system 56
...
singular-matrix 48
...

#Conditions
#ConditionSystem
#ErrorDetection
#ErrorSignalling
#Lisp
#ZetaLisp

@kentpitman @screwlisp

@screwlisp

You can pick up the document 'Signalling and Handling Conditions' from this index page:

http://nhplace.com/kent/ZL/

It was longer than I thought it would be, but I think you'll find it interesting to see what the Zetalisp condition system (which inspired the Common Lisp condition system) looked like.

In spirit, it was much the same. The biggest differences are:

* The CL system has 'active' restarts, where the ZL system had a passive thing where you returned a value to the case context and hoped that it would do the thing you wanted. It felt quite a bit more error-prone (if you'll pardon the reuse of 'error' here, maybe I should say 'mistake-prone').

* The ZL condition system offers a lot of really low-level stuff that did not seem proper for CL.

* The set of operations offered in ZL was richer, but also a lot more complicated, I thought, and I worried people would not really see what it was trying to do.

* Obviously, the ZL system was based on Flavors, not CLOS, and made reference to a lot of LispM-specific packages.

* The document was published in January, 1983 and identifies itself as part of Symbolics Release 4.0.

There are other differences as well.

#Zetalisp #LispMachine #LispMachines #Symbolics #LispM
#ConditionHandling #ConditionSystem #ErrorSystem #ErrorHandling #CommonLisp #CL #Flavors #CLOS #History #ComputerHistory
#InternetArchive #Bitsavers

#lispyGopherClimate Tuesday-night-in-the-Americas

https://toobnix.org/w/88ZPfUcso2HNSKX6gNYShW #archive <- should have full audio

- This brave new world's #AI #vulns
+ #climateCrisis with e.g. oil

- The #commonLisp #conditionSystem #programming thread (& #shell ) https://gamerplus.org/@screwlisp/116390562771940285
Featuing @kentpitman @dougmerritt @vnikolov and more

- Also a note from @JohnMashey #unix when I tagged him (mostly, "haven't touched #lisp since the 70s").

- Live chat on #lambdaMOO !

@sdf can someone validate @artemis .

Summary how common lisp conditions line up to the acl2 theorem + accidental common lisp metaobject protocol e.g. - lispmoo2 by screwtape

We should do the ansi common lisp side of the acl2 first order logic condition theorem. (define-condition awkward () ((keys :initarg :keys :reader keys))) Quick fix: mop the keys to be the ones your c...

itch.io

#lispyGopherClimate okay Mastofriends, it is Sunday-Morning-In-Europe ( #peertube #live ) time.

https://toobnix.org/w/ueLph1idzd7HDrz9cPDSu2

My ansi #commonLisp #conditionSystem | #ontology blog here : https://lispy-gopher-show.itch.io/leonardo-calculus/devlog/1451887/my-ansi-common-lisp-condition-ontology-eg or what it is like on my machine, anyway!

Failed attempt to verbally skim Kent Pitman, Ramin, Crew, DM, et al.'s thread: https://climatejustice.social/@kentpitman/116167936268937333 though it is weeks of reading material.

Edit: Ignore every mention of the very nice mastodon, founder of Java please. My brain was not working.

Public Lispy Gopher Climate sunday Morning in Europe stream - 3/8/2026, 7:48:59 AM

PeerTube

A #commonLisp #conditionSystem #gopher take 2.
Previously I signalled a gopher-request: The server matched the item specifier in an alist, and chose an itemtype restart.

As you know, this is wrong: rfc1436's *client* chooses how to interpret the response.

Instead I guess these are the layers of restarts:

Server has all its item specifiers as restarts.

All of these restart to copying the "byte" stream to the client.

The client restarts the response stream to their chosen itemtype restart.

#podcast #kmp #commonLisp condition system #codeReview of my #programming example, + #climate + hal9001

https://communitymedia.video/w/uxcaFqra6buSK955zsuUog

#podcast #kmp #commonLisp condition system #codeReview of my #programming example, + #climate + hal9001

PeerTube

@screwtape

Well, the totality can be a function of other than args, so something that takes any kind of args can still err for other reasons. I don't know if that helps.

I don't know if you've read these papers but you might find them a bit more abstract:

http://www.nhplace.com/kent/Papers/Exceptional-Situations-1990.html

http://www.nhplace.com/kent/Papers/Condition-Handling-2001.html

The second of those is mostly more advanced topics, as I recall. But the first is a discussion of the same issues as you find in Revision-18.txt, but in a way that is hopefully more abstract. That 1990 paper won a Best Paper award at the First European Conference on the Practical Application of Lisp, so I assume it was decently readable. It was just a dusting off of the paper I'd written in 1985 that no one had really cared about for 5 years. Since the paper was already written, I used the prep time for the conference to polish, and to whittle away anything about the paper that might not look like a "best paper", which apparently worked. :)

The 1985 paper is here, though I recommend just reading the 1990 version. I just often speak in hypertext and feel compelled to link things I talk about:

https://dspace.mit.edu/bitstream/handle/1721.1/41474/AI_WP_268.pdf

#lisp #CommonLisp #exceptions #errors #ErrorSystem #ConditionSystem

cc @masso

``Exceptional Situations In Lisp'' by Kent Pitman (March, 1990)