Name Parsing Ambiguity
Upon seeing the title of this article, in my mind I heard,
"How does it feeeeeel, to be on your own? Like a rolling stone ..."
They should have named it, "DyLan".
OpenDylan is a Lisp without all the parentheses – just as John McCarthy originally intended for LISP-2. OpenDylan 2025.1 is the latest release from the OpenDylan project and contains several handy enhancements. There is a new LSP plug-in, lsp-dylan, so you get syntax highlighting and code-completion in compatible editors. The …
> You mean it wasn't named after the hippy rabbit in The Magic Roundabout?
I am sure that the rabbits in _Hey Duggie_ are a tribute to the one true original Dylan.
Just checking... is it generally known that Eric Thompson largely improvised the dialogue to _the Magic Roundabout_ from watching the video of Serge Danot's originals, without even trying to translate the French?
https://www.independent.co.uk/arts-entertainment/films/features/the-magic-roundabout-from-a-to-zebedee-488744.html
And that Eric was the father of both the wonderful Emma Thompson and her little sister Sophie?
https://www.telegraph.co.uk/women/womens-life/11310359/Sophie-Thompson-remembers-her-father-Eric-and-his-Magic-Roundabout.html
They should've changed the name to Zimmerman.1
Amusing that a guy who borrowed his stage name from an actual poet, one Dylan Thomas, would have the bloated ego temerity to object.
Figures.
_______________
Running out of memory was also a problem even on the C++-based NewtonScript Newton; a Dylan-based one would presumably have had it even worse. (OTOH, Apple could have shipped more RAM at the same price if it had merely stopped including floppies as well as a CD in the Newton box…)
> So am I reading the PDF right, that LISP-2 stalled when they ran out of memory on their development machine?
>
> Shame, that.
Leaving aside the situation at SDS, according to Waychoff John McCarthy was seriously pissed by the fact that Burroughs wouldn't tell him how to circumvent their mainframe memory protection, and as a result replaced Stanford's B5500 with an IBM S/360. And it was years before IBM had working virtual memory, hence the old joke about the letters standing for "I'd Buy Memory"...
" Who knows, maybe if Dylan had used {curly braces} it would have been a big hit?"
I've heard sillier ideas.
You have to remember that when C was young it was competing against languages that used actual words for scoping, like BEGIN / END or IF / ENDIF or (boggle) case / esac. The choice of { } resulted in an immediate and obvious improvement in readability in most people's opinion. (This was even true compared to languages that already used brackets, but insisted on using round brackets for /everything/.)
So yeah, a lot of people are now just comfortable with languages that use bracketty things for containment and which use a variety of kinds of bracket to improve clarity still further. Any language that doesn't is just starting 10 metres behind the rest of the field waiting for the starter's pistol.
My favorite approach is Python's: it's all done with indentation. Very clean to read and straightforward to write.
I've had to read thousands of undergrad programming assignments in languages where delimiters were essential but indentation was an optional afterthought. If only I could go back and do it over in Python!
Although you and I have argued about this several times, and I've usually pointed out that if a peripheral can't adequately distinguish between parentheses and braces then one should look at its font handling and question whether it really is the best tool for the job.
After all, there's plenty of more serious related issues: 0 vs O, l vs I, l vs 1 and so on: and those comparisons will look different to every one of us depending on browser and OS.
> C syntax is magical programmer catnip. You sprinkle it on anything and it suddenly becomes "practical" and "readable".
Looking at this in the context of the ALGOL family, the thing is that there's so many different issues. The first one that people think about is using braces rather than begin/end: but in the overall scheme of things that's trivial (potentially just a macro expansion) and is immediately eclipsed by such things as the dangling-else issue (fixed in some ALGOL-derivatives, hacked around in others, ignored in many including C and Pascal).
Then there's things like declaration order: some languages put a type followed by things to be associated with that type, others do it the other way round.
But the elephant in the room is infix notation: C (and most other ALGOL derivatives) embraced that since it was basically a convention that every schoolboy had been familiar with for centuries, LISP (and APL, Forth and Smalltalk) thought they could do better and- I'm tempted to say- arguably harmed the industry and the underlying technology by fragmenting the notation.