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

Scheme or Common Lisp?

Name: Anonymous 2010-07-22 9:02

Yes, it's a “which programming language to leran ???” thread, but this time it's ...more specific I guess?

So I already know C and Perl and wish to acquaint myself with other paradigms than the procedural and object-oriented ones I've become uncomfortably familiar with (i.e., functional). I also intend to learn Haskell at some point in the future in order to complete the holy trinity of syntaxes.

So, /anus/. Regarding the thread title, what are the differences that you find make you prefer one Lisp dialect to another? Is there even much of a difference? Or did you just choose one as your way of saying, “I've read SICP”?

Name: >>13 2010-07-22 19:28

>>15,18
I've written plenty of functions with arguments named like: string, array, list, cons, function and so on (in a Lisp-1, I'd name array as a arr, ar; list as lst, lyst; cons as pair or cns; function as fun or fn).

In a Lisp-2, it's very clean which one refers to which. If it's the car of the form, it calls the function/macro/special-operator, otherwise it's the variable. I know it's not a function as a function named by a symbol would be: #'string #'list #'cons or (function string) (function list) (function cons). #'
is merely a reader macro which reads as (function ...), while function is a special operator which looks up the function named by that symbol in the current lexical environment (it needs to be a special operator due to that and how it interacts with compilation).

Overall, it's just useful for 2 things: doesn't restict you when it comes to what names you give to variables, it's useful when it comes to low-level macros.

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