3 ms·
What made you go CL instead of something like, say, racket? Is it being a lisp-2 as much of a pain as it looks from the outside? Any tips for groking the packa
by ByteJockey 4y ago
What made you go CL instead of something like, say, racket? Is it being a lisp-2 as much of a pain as it looks from the outside?
Any tips for groking the package/namespace system? I've taken a couple runs at CL and that's where my brain always breaks down.
- vindarel 4y agoA package is a container for symbols (symbols are a basic type that references variables and functions (or both)). Where you are "inside" a package (in-package), you can access all symbols directly. Otherwise, you need to name them with the package prefix. This is how it serves as namespace. This quick demo might help: https://youtu.be/XFc513MJjos?t=249 https://youtu.be/XFc513MJjos?t=249 I very seldom tried Racket. CL picked my interest, and no language feature in a Scheme was attractive enough to me. CL seemed the most capable of all Lisp dialects, it seemed the most robust (a long history of industrial success stories), when I searched for CL libraries I found a lot, less so with Racket, etc. And so, the more I committed to learning and building stuff in CL, the less likely I was to switch to another Lisp. (Clojure? It takes so much resources when starting up, especially compared to CL, and I can't even install a library in a running REPL. That's my excuse for my disgust and fear of Java). I compiled some things lispers say about Racket: https://gist.github.com/vindarel/c1ef5e043773921e3b11d8f4fe1ca7ac https://gist.github.com/vindarel/c1ef5e043773921e3b11d8f4fe1... and it makes me want to stay in my comfy CL environment (built with sweat). I myself was never annoyed with the lisp-1/2 thing… You like the fact that in lisp-1 we can call a function given as reference directly, without `funcall`? Well, we can do that in CL, it's a `setf` away. It turns out we don't and it's alright.