Live data from Hacker News

A Road to Lisp: Which Lisp

scotto.me

41–50 of 180 posts

Re: A Road to Lisp: Which Lisp

#41

I really wanted to Lisp as a main programming language, and sometimes I still do. I just find readability such a hurdle regardless of how long I used it. I didn't find that it ever became as natural as the other group of programming languages. I find a procedural style of programming so much easier to reason about, both when writing and reading. Either way, I'm really happy I took some time to learn it and use it a l…

Common Lisp code can be very procedural if that's what you want to do. The entire loop macro is basically importing Algol-styled procedural loops into Lisp.

that's the conclusion i came up with after learning common lisp. it didn't feel much different from what i had learned before.

Re: A Road to Lisp: Which Lisp

#43
post #38

Since this is the largest gathering of LISP users I have seen, I have a question. Why prefer lisp-1 over lisp-2 or vice-versa?

As someone who has used both kinds over many, many years: it really doesn't matter.

Re: A Road to Lisp: Which Lisp

#44

I just wish a good IDE existed so I don't have to use Emacs. That's what made me drop lisp in the past. I would be happy with (neo)Vim setup as well, but that was way behind Emacs and broken when I tried.

as of now neovim works great with clojure, not sure about other lisps. vs code also.

Re: A Road to Lisp: Which Lisp

#45

Earlier quoted context omitted.

I can also recommend clojure. For me it has the best parts of common lisp and the best of the java ecosystem. But its also quite different from common lisp and scheme. Different enough to find some unique ideas. Writing scripts using [0] Babashka is also really nice. [0] https://babashka.org/

I particpated in a Clojure reading group for "Getting Clojure" back around 2017. Having the entire JVM ecosystem available, is absolutely a great benefit. I even fooled around with ClojureScript a bit. David Nolen is great at making the case for both.

On a related note, there's a cross-platform Common Lisp package, "Bike" https://github.com/Lovesan/bike, that lets you use .Net assemblies from Common Lisp.

I've used it a tiny bit at work (on Windows) and at home (on Linux), and ran into one issue with "out" parameters, but otherwise it works really well.

Re: A Road to Lisp: Which Lisp

#46
post #38

Since this is the largest gathering of LISP users I have seen, I have a question. Why prefer lisp-1 over lisp-2 or vice-versa?

Ignoring all the other distinctions between lisps, the main difference between lisp-1 and lisp-2 (or lisp-n) is going to be how clean your code looks when you lean into the FP style. In a lisp-2 you'll need to do something like this:

  (defun apply-twice (f x)
    (funcall f (funcall f x)))

  (apply-twice #'1+ 2)
Versus this with a lisp-1:

  (define (apply-twice f x)
    (f (f x))

  (apply-twice 1+ 2) ;; assuming 1+ is defined
But there are so many other differences between the lisps in the two categories that this probably won't be the deciding factor for most people.

Re: A Road to Lisp: Which Lisp

#48

I just wish a good IDE existed so I don't have to use Emacs. That's what made me drop lisp in the past. I would be happy with (neo)Vim setup as well, but that was way behind Emacs and broken when I tried.

as of now neovim works great with clojure, not sure about other lisps. vs code also.

I am/was mainly interested in Common Lisp. I might give Vim another try, that would be the best if it worked. I really don't like vscode

Re: A Road to Lisp: Which Lisp

#49
post #3

Another Lisp of note is AutoLISP. Elisp::Emacs as AutoLISP::AutoCAD. AutoLISP was my first introduction to Lisp-style language. When I first started using it (1987) for macros in AutoCAD, I really had no idea what Lisp was. It was just a fun and easy way to automate AutoCAD.

Adding and substracting 3D-objects was the same as in OpensCAD.

Strange they did not make OpenSCAD in AutoLISP-style.

I have to read the manual all the time, because I never learn the weird syntax of OpenSCAD for-statement.

Post reply on HN