|
|
|
|
|
by Blackthorn
1627 days ago
|
|
My biggest issues with Common Lisp were: * Absolutely nothing is consistent. When you mutate something, is the place it goes the first or last argument? No consistency here.
* When you pass a value to a function, is it by value or by reference? Who knows? Rules are non obvious, do not follow the principle of least surprise.
* Lisp-2 just makes working with higher order functions obnoxious. One thing it has going for it though is the loop macro, that's admittedly pretty neat. |
|
To understand most code, you can just pretend that all values have reference semantics. If mutation is going on and/or the eq function is being used, you have to prick up your ears and pay attention to that detail.