Modern, functional Common Lisp: myths and tips (2020)
1–10 of 22 posts
Re: Modern, functional Common Lisp: myths and tips (2020)
#2Modern, functional Common Lisp: myths and best practices - https://news.ycombinator.com/item?id=22412148 - Feb 2020 (155 comments)
Re: Modern, functional Common Lisp: myths and tips (2020)
#3Re: Modern, functional Common Lisp: myths and tips (2020)
#4Re: Modern, functional Common Lisp: myths and tips (2020)
#5I was also just getting some of my environment set up on Guix and the addition of Guix Shell [0] is great. Now I can set up an environment and load a lisp file instantly (after the initial caching) with `guix shell sbcl [sbcl-packages] -- sbcl --load somefile.lisp [arguments]` Works across computers with Guix for reproducible environments, very nice stuff. Even easier from a blank slate than getting Roswell and/or quicklisp set up, just a one liner with Guix.
[0] https://guix.gnu.org/en/blog/2021/from-guix-environment-to-g...
Re: Modern, functional Common Lisp: myths and tips (2020)
#6I would say it's been significantly harder to achieve the same functionality in CL than Clojure, but there are major perks to the ecosystem. I was surprised by how much I've valued conditions and restarts, type inference from SBCL, stack traces, and tooling in general.
Clojure OTOH feels like it takes much less effort to get up and running, feels more intuitive to write, and has far better documentation.
I'm probably going to continue writing my project in both languages in parallel because I love learning and I spend my time poorly. I want to stick with Clojure given that it sees more use these days, but it's hard not to prefer CL once you invest the time in learning its capabilities.
As a final note, was Practical Common Lisp challenging for anyone else? I've read many glowing recommendations of the book, but at times it feels DENSE, and it took a fair amount of staring at the intermediate stages of the projects to understand what was going on.
Re: Modern, functional Common Lisp: myths and tips (2020)
#7I've been building a personal project in both Clojure and Common Lisp to make a DSL for scraping web data, transforming it, and outputting it to a few backend formats. I would say it's been significantly harder to achieve the same functionality in CL than Clojure, but there are major perks to the ecosystem. I was surprised by how much I've valued conditions and restarts, type inference from SBCL, stack traces, and to…
Re: Modern, functional Common Lisp: myths and tips (2020)
#8I wish more languages had the interactive development capabilities of Common Lisp. The language deserves more love than it gets.
Re: Modern, functional Common Lisp: myths and tips (2020)
#9Re: Modern, functional Common Lisp: myths and tips (2020)
#10Pretty sure that's not true since you can't define recursive types. For example, the following is invalid (in fact there is no way in the CL type system to define a type that represents a proper list of a given element type without using SATISFIES):
(deftype proper-list (&optional (element-type t))
`(or null (cons ,element-type proper-list)))
More details about this issue from when it came up during the standardization process:https://www.cs.cmu.edu/Groups/AI/html/hyperspec/HyperSpec/Is...