this post was submitted on 29 May 2026
4 points (83.3% liked)

Programming

27075 readers
148 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities !webdev@programming.dev



founded 3 years ago
MODERATORS
 

Internet learned to speak gibberish that doesn’t always coincide with literary text. But it can be converted back to that. Here’s my experiment along these lines.

you are viewing a single comment's thread
view the rest of the comments
[–] tal@lemmy.today 3 points 7 hours ago

But Lisp is case-insensitive

looks bemused

I don't do that much Lisp, mostly use it for emacs, but I'm pretty sure that it's not.

opens emacs

(setq foo 1)                                                                                                                                                    
(print foo)                                                                                                                                                     

1

OK. So far so good.

(setq foo 1)                                                                                                                                                    
(print FOO)                                                                                                                                                     

Debugger entered--Lisp error: (void-variable FOO)
  (print FOO)
  (progn (print FOO))
  eval((progn (print FOO)) t)
  elisp--eval-last-sexp(nil)
  #f(compiled-function () #<bytecode 0xf6febdfec01a>)()
  eval-last-sexp(nil)
  funcall-interactively(eval-last-sexp nil)
      command-execute(eval-last-sexp)

Elisp sure doesn't look to be case-insensitive. Maybe he meant some specific variant? Common Lisp?

$ sudo apt install sbcl

Apparently sbcl's REPL doesn't support readline.

$ sudo apt install rlwrap
$ rlwrap sbcl

Huh. Looks like with readline, I also get cursor flashing to do paren matching, kinda like emacs can do. I had no idea that readline could do that. Apparently Common Lisp doesn't do setq either.

more experimentation

* (let ((foo 1)) (print FOO))

1 
1

Huh. So, yeah, I guess that Common Lisp is case-insensitive. That is a bit wild. I guess I do remember vaguely seeing old Lisp stuff with keywords in all-caps.

Is Scheme?

$ sudo apt install guile-3.0

Apparently the guile REPL doesn't support readline either. God.

$ rlwrap guile

And it looks like "print" is "display" in Scheme-land.

scheme@(guile-user)> (let ((foo 1)) (display foo))
1

Okay, so that's the syntax. Case-insensitive?

scheme@(guile-user)> (let ((foo 1)) (display FOO))
;;; <stdin>:2:24: warning: possibly unbound variable `FOO'
ice-9/boot-9.scm:1676:22: In procedure raise-exception:
Unbound variable: FOO

Nope.

I kinda feel like there are Lisps that the author could have used if they wanted Lisp and case-sensitivity, if that was the major irritation.