Live data from Hacker News

A Road to Common Lisp (2018)

stevelosh.com

21–30 of 50 posts

Re: A Road to Common Lisp (2018)

#21
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)

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] https://gigamonkeys.com/book/

Re: A Road to Common Lisp (2018)

#22

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…

> The specification is (mostly) exhaustive, but would make a very poor introduction into the language.

Did I say it was a good introduction? What are you replying to with this?

Re: A Road to Common Lisp (2018)

#23

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/

"it was def worth it."

I see what you did there.

Re: A Road to Common Lisp (2018)

#24
Getting a taste of Common Lisp in college is probably the only useful thing I got out of that boondoggle. It left a seed in my brain that eventually encouraged me to try Clojure. Clojure ended up launching my career further than I'd ever expected while making my work life significantly more pleasant.

Lisp is a gift and I am extremely thankful for it.

Re: A Road to Common Lisp (2018)

#25

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/

I love clojure but hate that’s it a JVM language

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.

Re: A Road to Common Lisp (2018)

#26
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)

I agree, even if I question the idea.

That is, I love the idea of everything being exposed. And I dream of the idea of interacting with the system this way.

However, I can count on one hand the number of people I have worked with that new you could get documentation that way in python. The world has moved on to browsers being the expected place for all documentation. :(

Re: A Road to Common Lisp (2018)

#27

Earlier quoted context omitted.

I love clojure but hate that’s it a JVM language

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.

Re: A Road to Common Lisp (2018)

#28
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.

Re: A Road to Common Lisp (2018)

#29
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.

Often recursion is fine and doesn't cause any problems. I just use 'reduce' or 'loop' if it becomes an issue.

I've used Clojure for close to a decade. It's been an issue maybe once. The JVM is absolutely a plus for Clojure.

Re: A Road to Common Lisp (2018)

#30

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...
Post reply on HN