zlacker

[parent] [thread] 0 comments
1. bitwiz+(OP)[view] [source] 2025-12-06 20:07:28
Lisp-2 virgins want to name a variable 'list' and not shadow the function named 'list', so they add on a separate function binding to each symbol. "So you have to type sharpquote if you want the function value of a symbol," they say. "What's the big deal?" Except they don't stop there: symbols also have to have package awareness and "property lists", or in other words an arbitrary number of other bindings.

Scheme chads understand that perfection is achieved not when there is nothing left to add but when there is nothing left to take away. They realize functions are nothing special, just another object that can be manipulated and operated on, so why create a separate namespace and binding for them? Why put bindings in the symbol at all, since if you are designing your language correctly bindings will vary with lexical environment? So symbols have been stripped down to just a name that the language recognizes as an identifier for a value, function, special form, or whatever else. And functions are just values that get applied whenever in head position of an eval'd list.

I jest, I jest. Seriously, I love Common Lisp, but I'm with you: Lisp-1s appeal better to my aesthetic sensibilities.

[go to top]