Live data from Hacker News

A Road to Lisp: Which Lisp

scotto.me

111–120 of 180 posts

Re: A Road to Lisp: Which Lisp

#111

There is also MLs that have the same idea, but with less implementation, as a lisp is something you hack in a weekend. An working ML not, as it takes way more effort. Lisps have many fantastic ideas, but are really hard to read. Lisp code is what we had before perl guys went "hold my beer". I know its just syntax, and it usually does not matter, untill it does. I did some clojure a long time ago, and before that some…

https://www.youtube.com/watch?v=LXhsutNKhec&feature=youtu.be

Once you get hang of it, it easy. Following is video of my son who learnt Scheme as first programming language.

Re: A Road to Lisp: Which Lisp

#112

I'm going to take the opposite position that there is much less special about Lisp than people think. Like I have met so many programmers that travel around like itinerant martial artists looking for true functional programming and they never find it. To be specific, you can work all of the examples in Graham's On Lisp in Python except for one of the last chapters where he implements continuations that really need ma…

There's nothing "special" about Lisp and Lisp dialects, yes. Similar features can be or already have been implemented in other languages. Yet, after touching, using and experiencing working with a bunch of different stacks, I cannot simply ignore the enormous pragmatic level of Lisps. Working with Clojure is an absolute delight. It strips down all the dogma and let's you deal with the "business logic" as if you're co…

I've got really mixed feelings about Clojure. Like when I read Graham's book I went through a phase of "he wouldn't be fighting with nconc if he was using Clojure!" I find some algorithms to be easy and fun to write using persistent data structures and others maddening though if I did it more I'd get better at it. zippers are weirdly unergonomic because of some little bad choices. I badly wanted to do a project with the Clara rules engine but never got the chance.

As for GNU emacs I got over it. Like I was introduced to it in 1989, it was the cool new editor for the Unix world, one of my friends loved scripting with it. However I experienced it getting really janky about 20 years before other software got janky and I don't know why. Some of it might have been rot in things it depends on, like it used to be curses apps actually worked right but now they suffer data corruption from the telnet/ssh connection and always seem to have an off-by-one on the screen size. X Windows got glitchier. I guess emacs was ahead of its time, now people write janky apps with Electron -- like I have to type R E A L L Y : S L O W L Y when I use Slack at work. Photoshop is like that too, computers are 100x's of times faster so Photoshop should boot up faster than Momo Chiyoda can transform but no, it doesn't.

I switched to vim around 2003 as my emergency Unix editor because I could log into a busted system and start working and not have to rely on the package system (often the thing that was busted) to install emacs or build it from scratch. Helps that it doesn't use continuation characters so cut and past just works, there are lots of little things that make vim live more comfortably side by side with modern GUI life than emacs does.

Re: A Road to Lisp: Which Lisp

#113

There is also MLs that have the same idea, but with less implementation, as a lisp is something you hack in a weekend. An working ML not, as it takes way more effort. Lisps have many fantastic ideas, but are really hard to read. Lisp code is what we had before perl guys went "hold my beer". I know its just syntax, and it usually does not matter, untill it does. I did some clojure a long time ago, and before that some…

If you want the extensibility of Lisp with a readable syntax Rhombus is worth a go https://rhombus-lang.org/

Re: A Road to Lisp: Which Lisp

#114

There is also MLs that have the same idea, but with less implementation, as a lisp is something you hack in a weekend. An working ML not, as it takes way more effort. Lisps have many fantastic ideas, but are really hard to read. Lisp code is what we had before perl guys went "hold my beer". I know its just syntax, and it usually does not matter, untill it does. I did some clojure a long time ago, and before that some…

I find Lisp much easier to read than most other languages. It is highly explicit syntax with very little ambiguity, especially if you have a little discipline about macros.

I like the Python-like indentation syntax of Rhombus. It has the extensibility of a modern lisp https://rhombus-lang.org/

Re: A Road to Lisp: Which Lisp

#115

Earlier quoted context omitted.

> the first time a Lisp dialect has reached into native world since Clasp. What's that supposed to mean? Many (probably most if we only consider the non-toy ones) lisp implementations are "native" (compiling to native machine code, not interpreted).

You can directly call C++ as C++ , not via a C ABI.

> You can directly call C++ as C++, not via a C ABI.

That's a unique definition of "native". It suggests that C is not a native language, which is going to be a hard thing to convince others of.

Re: A Road to Lisp: Which Lisp

#116

From my experience, to be happy I would need the perf of sbcl, the syntax, litterals and data structure of clojure, the begginer-friendlyness of drracket, the type system of ocaml, and the dev experience of rust. Does that exist somewhere ? I hope jank gets there. Or maybe roc will. At this point, given the progress and expectations of using LLM, writing code is going to be purely a hobby concern, like carving wood f…

You might like Rhombus. Nice compiler. Uniquely extensible and easy to learn syntax. https://rhombus-lang.org/

Re: A Road to Lisp: Which Lisp

#117

I'm going to take the opposite position that there is much less special about Lisp than people think. Like I have met so many programmers that travel around like itinerant martial artists looking for true functional programming and they never find it. To be specific, you can work all of the examples in Graham's On Lisp in Python except for one of the last chapters where he implements continuations that really need ma…

I thought Scheme was just an educational tool - a minimal language that allows the student to explore language construction & design relatively quickly. I'm not sure I understand your comment about homoiconicity leading people astray. Isn't that the characteristic feature of lisp? Doesn't that dramatically simplify generating code (in principle)?

> I thought Scheme was just an educational tool

That's one use. It's also used in commercial and open source systems. Guile, for instance, has been used as an extension language (like lua and others) in many projects.

Re: A Road to Lisp: Which Lisp

#118

Earlier quoted context omitted.

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.

That's just crazy! (in a good way) I've been in software since 1998 and it's like I've just uncovered a whole new world.

What about this one? https://github.com/dotcl/dotcl

> Common Lisp implementation on .NET. Lisp source is compiled to CIL (Common Intermediate Language) and runs on the .NET JIT — so the same Lisp image runs on Windows, macOS, and Linux across x86-64 and ARM64 without per-platform porting work.

Re: A Road to Lisp: Which Lisp

#119

From my experience, to be happy I would need the perf of sbcl, the syntax, litterals and data structure of clojure, the begginer-friendlyness of drracket, the type system of ocaml, and the dev experience of rust. Does that exist somewhere ? I hope jank gets there. Or maybe roc will. At this point, given the progress and expectations of using LLM, writing code is going to be purely a hobby concern, like carving wood f…

So let's try: SBCL with

* [clj-coll](https://github.com/dtenny/clj-coll) - Clojure collection and sequence APIs in Common Lisp, with optional Clojure collection syntax.

  * provides immutable Cons, Queue, PersistentList, capabilities as well as Vector, Set, and Map analogues built on FSet (but accessed entirely via Clojure APIs).

  * optional read syntax so you can type `{:a 1 :b 2}`, `#{1 2 3}`, and `[1 2 3]`.

* [clj-con](https://github.com/dtenny/clj-con) - Clojure-style concurrency operations in Common Lisp.

* [clj-re](https://github.com/dtenny/clj-re/) - Clojure-style regular expression functions.

* [clj-arrows](https://github.com/dtenny/clj-arrows) - Clojure-compatible threading/transformation/arrow macros for Common Lisp.

editor: https://coalton-lang.github.io/20260424-mine/

type system: Coalton

Re: A Road to Lisp: Which Lisp

#120
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?

I hate having to come up with different variable names than `list` so I don't shadow the function `list`. Repeat that for a lot of common words: count, first, length, map, max, min, search, string; that you would then actually consider calling said function after declaring a value. Happens to "list" the most, but definitely the others on rarer occasions.
Post reply on HN