Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

Common Lisp for Schemers

Name: fag 2013-12-29 0:49

What's the best way for a Schemer to learn Common Lisp? It seems like Scheme itself is a more beautiful language, but the efforts made by many implementations to make Scheme useful "in the real world" lead to a big ball of mud™. Does Common Lisp avoid this problem? Should I keep trying to learn different Scheme implementations instead until I find something I like?

Name: Anonymous 2013-12-29 13:33

>>19
The thing is, you cannot tell just by looking at a piece of code, whether the macros used in it are of the generally sort or the in general sort. They all might alter the meaning of code in unpredictable ways, and that was just a simple example. Macros introduce hidden mutations just like functions which alter external state introduce mutations: macros mutate your code and impure functions (aka procedures) mutate your state, and all of that is done in a furtive, unobvious way.
This is what makes both macros and impure functions evil - they introduce extra mutation pathways that make your code less obvious, less modular, harder to test and harder to decompose. With macros you can't tell what code is hidden behind a given piece of code, and with impure procedures you can't tell what actions are hidden behind a piece of code. Putting macros and impure functions into one language makes for a Molotov cocktail. Isn't that why many Lispers (including the aforementioned Paul Graham, Rich Hickey and the "Land of Lisp" guy) advocate a functional style? Except that Common Lisp isn't made for functional style, so they are stuck with Clojure which is a Javahaskell more than it is a lisp.

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List