Skip to content

Comment on A Road to Common Lispparent

Comments

Yes. I don't mind the parens (syntax highlighting can subdue them), but every time I actually fire up Common Lisp to try it, I see all caps somewhere, like someone even older than me is shouting at me, or I stumbled across a box of my Fortran punched cards from before I switched to APL in the 1970's. That's an ugliness not addressed by this guide.

There is a good reason for this "ugliness": it makes it easier to distinguish the things that you typed in vs the things that Lisp printed out. Nowadays we can make these distinctions with fonts, but back in the teletype days this was a really useful feature. Yes, the teletype days are over, but teriminal.app still exists and there are situations where interacting with Lisp directly through a terminal is useful, and so this feature can still be useful even today. Like the parens, it takes a little getting used to, but once you're used to it, you'll miss it when it's not there.

Yes, the same reason why all Wirth languages use uppercase for keywords.

And not a big deal on the age of automatic code formatters.

That’s just the default. You can always put

    (setf *print-case* :downcase)
in your .sbclrc (or whatever the equivalent is for your implementation) and never have to see all-caps again.

And yeah, the default upcasing is ugly and inelegant, but they were trying to support the caps-only machines & code still in use at the time. It’s one of the key things I’d change in a modern Lisp standard.

But you have to admit: when the default print-case is one of the worst things in a language, that language is doing pretty well.

TIL! Thanks for pointing this out; it makes me feel much better than my previous assumption that all these people running around proclaiming the greatness of CL were just _okay_ with the allcaps!

I for one am okay with all-caps printing.

Perhaps, like beer, it is a taste that I have yet to acquire, especially if it is as useful as it sounds for differentiating user input from machine messages/feedback :)

It’s what I love the most about Lisp...

You can try to make it less shoutey by messing with readtable-case[1] but in my experience that's more trouble than it's worth. I found the uppercase a bit obnoxious at first too, but it's grown on me over time and now I find it quaint.

[1]: http://clhs.lisp.se/Body/f_rdtabl.htm

Because you can just turn it off? https://www.cliki.net/Case%20sensitivity

Allegro CL can be configured to be case sensitive [1].

[1] https://franz.com/support/documentation/10.0/doc/case.htm

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.