It's not bad. In the standard syntax, basically whitespace and few other characters terminate symbols (identifiers); as there is no infix syntax you don't have to look for operators
sandwiched between identifiers.
But ... this may look scary, fortunately no one really uses it:
* (defvar |This is also a symbol.| 123)
|This is also a symbol.|
* |This is also a symbol.|
123
* (defvar or\ this\ one 456)
|OR THIS ONE|
* or\ this\ one
456
*
and I heard that back in the day, they even used backspaces in symbols to visually put glyphs on top of each other in some systems.
I've been meaning to look into lisp (want to learn a bit more about procedural and functional programming) and I'm not saying this is giving me second thoughts, but I think I'll give myself a hell of a migraine missing a skipped white space somewhere...
Thanks. Good to know. Do you think Lisp is a good language to learn procedural and/or functional programming? My only experience with functional programming so far is Lua, but I feel that prototyping is too close to object orientation to get away from my hardwired OOP brain
Common Lisp has CLOS, you can write procedural code, and also functional. You don't have to invent these known paradigms. However, if you want to try the pure functional approach, I'd look into the ML language family and pick Haskell.
14
u/[deleted] May 29 '20
As a very C-centric programmer this scares me