Re:A Road to Common Lisp (2018)
by singaporecode on Monday June 06, 2022 @09:44PM
(#31648916)
If you want to learn CL, try this https://github.com/ashok-khanna/lisp-notes
I posted it earlier in HN as it helped me a lot but didn’t get any responses. I should sponsor the guide’s author, he or she has written lots of useful notes on CL on Medium
I also remember learning Scheme and having it be a real mind bender. Scheme/Racket is great, but I think Clojure being more opinionated and being immutable by default is a huge improvement in terms of understanding larger projects. Also, their parallel computation and mutex constructs are some of the easiest to understand AND easiest to guarantee you did it right. This is going to continue becoming more and more important given the huge rise in CPU core counts both on desktops and in servers.
I love clojure but hate that’s it a JVM language
Re:A Road to Common Lisp (2018)
by jakebasile on Monday June 06, 2022 @11:43PM
(#31649655)
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)
by capableweb on Tuesday June 07, 2022 @06:37AM
(#31652197)
The main reasons for Clojure to use the JVM was (IIRC) twofold: Access to a large ecosystem where basically every idea has a library available already and being immediately productive because not needing to learn a new runtime (+ previous point of libraries already being available).
With those two reasons in mind, at the time Clojure was created, it made a lot of sense to use the JVM.
Re:A Road to Common Lisp (2018)
by jakebasile on Tuesday June 07, 2022 @01:00AM
(#31650060)
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.
its not that strange. common lisp also prefers iteration over recursion
Re:A Road to Common Lisp (2018)
by EFreethought on Monday June 06, 2022 @11:28PM
(#31649551)
"it was def worth it."
I see what you did there.
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/