Live data from Hacker News

A Road to Common Lisp (2018)

stevelosh.com

31–40 of 50 posts

Re: A Road to Common Lisp (2018)

#31

Earlier quoted context omitted.

http://www.lispworks.com/documentation/lw71/CLHS/Body/f_docu... documentation is also a good one to know. Common Lisp makes pretty much the entirety of the system available to you programmatically. Browsing the CL Hyper Spec is a good way to discover these things, too.

The specification is (mostly) exhaustive, but would make a very poor introduction into the language. Common Lisp the Language (2nd ed.) [1] by Guy Steele himself gives good background information, but I wouldn't recommend it as introductory text either (and it isn't meant to). Practical Common Lisp [2] by Peter Seibel does IMHO a pretty good job at that. [1] https://www.cs.cmu.edu/Groups/AI/html/cltl/cltl2.html [2] h…

But it provides documentation of the language. See the topic above.

Re: A Road to Common Lisp (2018)

#32
post #12

It's funny how all these writings miss to explain how to figure out what a function/symbol does. When I want to know what print does in Python, I can type: help(print) and get some useful information. In Lisp there is a function too, that I wish someone told me when I was a freshman: (describe 'print)

Get the documentation about the function DOCUMENTATION:

  (documentation 'documentation 'function)
Any Lisp IDE (like SLIME/GNU Emacs, LispWorks, ...) will have ways to show documentation.

DESCRIBE is a more general tool, similar to INSPECT. Using runtime introspection.

Re: A Road to Common Lisp (2018)

#33

I was exposed to Common Lisp in college in a "Programming Language Concepts" class, almost 20 years ago, and it didn't "click". I got no help or assistance or explanation, and this was pre-youtube and Google so it was hard to find an answer to "why is this happening?" But I gave Clojure a try despite the bad taste in my mouth Common Lisp left, and it was def worth it. To try it out real quick: https://tryclojure.org/

You can use Common Lisp, since there is more assistance now.

Re: A Road to Common Lisp (2018)

#34
post #27

Earlier quoted context omitted.

Clojure is a hosted language - it runs on the CLR and in JS/Node too. That said, the JVM is wonderful and Clojure is the best way to access it.

The main reason using the JVM for clojure seems a bit weird to me as an outsider is that from what I understand, the JVM will never use tail recursion, and preferring iteration over recursions is a bit strange for a lisp, and doubly so for one that values immutability so highly.

its not that strange. common lisp also prefers iteration over recursion

Re: A Road to Common Lisp (2018)

#35

I've recently started on the road to Lisp but am getting there via Racket. What am I missing out on versus Common Lisp?

Racket is a single extensive implementation (maybe two versions of itself, the old one and the new one updated with bits from Chez Scheme).

Common Lisp is a language standard with multiple (very different) implementations. SBCL is a native code compiled Lisp with type inference. ECL compiles to C or byte codes, with an interpreter. LispWorks and Allegro CL are commercial Lisps with IDEs and GUIs. CLASP integrates with C++. There are a bunch of other ones.

Common Lisp isn't an academic product.

Re: A Road to Common Lisp (2018)

#36

I've recently started on the road to Lisp but am getting there via Racket. What am I missing out on versus Common Lisp?

Developer experience (interactivity, debugging), libraries, performance. At least, it is what lispers say: https://gist.github.com/vindarel/c1ef5e043773921e3b11d8f4fe1...

for the developer experience also see mike levins' article on repl driven programming

https://mikelevins.github.io/posts/2020-12-18-repl-driven/

Re: A Road to Common Lisp (2018)

#37

Been programming in CL for ~45 years (well, it wasn't CL back then), and still do so nearly every day. Julia is the first language I've seen in all that time that comes even barely close to the joy of CL, but, they just had to f-up the macros by requiring @s before them. Sigh. I guess it's back to CL.

>but, they just had to f-up the macros by requiring @s before them.

This is one of the better design choices with Julia IMHO

Re: A Road to Common Lisp (2018)

#38

Been programming in CL for ~45 years (well, it wasn't CL back then), and still do so nearly every day. Julia is the first language I've seen in all that time that comes even barely close to the joy of CL, but, they just had to f-up the macros by requiring @s before them. Sigh. I guess it's back to CL.

Maclisp back then, I suppose?

Re: A Road to Common Lisp (2018)

#39

I've recently started on the road to Lisp but am getting there via Racket. What am I missing out on versus Common Lisp?

Nothing, Racket is specifically designed for education and it will work for many applications. If you hit some wall (lack of libraries/performance issues), you'll be able to pick up common lisp quickly, and be more sympathetic towards its warts and anachronisms.

Re: A Road to Common Lisp (2018)

#40
post #4

Has anyone used the “Land of Lisp” book, or Exercism.org to learn Common Lisp? Any other fun alternatives for learning lisp?

Land of Lisp is fun, and the video is a must![0]; I also really like Norvig's PAIP (Paradigms of Artificial Intelligence Programming, available for free now on GitHub[1]). PAIP shows ways of programming in Lisp that really are unlike what I've seen in most other languages. Lately I have been working the Exercism exercises and there are over 80 Common Lisp problems, with more problems being added over time (my hope is…

PAIP was my favourite, I recall not really liking Land of Lisp as I felt like the quality of the example code wasn't great, but I did enjoy the Dice of Doom implementation.
Post reply on HN