Janet: newLISP's spiritual successor

Started by itistoday, May 14, 2026, 05:47:32 PM

Previous topic - Next topic

itistoday

Hey folks, as you might've noticed, it appears newLISP is, unfortunately, no longer with us.

The main website has been down for many months now. I haven't heard anything from Lutz. I'm not sure if he's with us either.

What Lutz created will always have a special place in my heart. I've loved this language so much, and I've used it for so many personal projects.

It's such a simple, beautiful language, that it saddens me to see its story come to what appears to be an end.

However, all is not lost.

Lately, I've been exploring Janet.

This lisp-like language is also incredibly well designed. Like newLISP, it too is batteries-included in a tiny single-binary.

However, the similarities end there. Janet is a significantly more sophisticated language. In many ways it is better designed than newLISP and much more modern. It has real garbage collection, lexical closures, special syntax for non-list data structures, a sophisticated fibers-based runtime with support for real threads, a real module system, and more!

Yes, it is a bit more complicated than newLISP, and newLISP's simplicity is a significant part of its appeal. However, there really are no better options AFAICT, and we small-language communities need to stick together!

I encourage newLISPers to have a look at Janet, and consider migrating their code over using LLMs as helpful assistants. That's what I've been doing and it excites me once again to learn a new language.

newLISP, we love you, we're sad to see you go.

Thank you for all of your work, Lutz!

You've forever set an example of the power of simplicity, and the power of Lisp.

EDIT: some docs for learning Janet:

Get your Objective newLISP groove on.

boris

Thanks for that, I had kind of given up on newlisp.

Good to see something being actively maintained and not calling itself "xxxlisp" to inflame the haters....

Janet looks like it could be an interesting replacement for newlisp.

hapco

Still, we have the source code, and people who appreciate newlisp, so it's not really gone because the site is. I briefly tried Janet, and may again, but at the time it just didn't do it for me. Too many dots, square brackets, and random punctuation. And what's wrong with lists? Not a list to be found...

boris

Having tried it for a while I came to the same conclusion as you.
The thing about newlisp is that it hits that sweet spot of being a lisp for the rest of us.

itistoday

One of the things that I really appreciate about newLISP is the design of the function names themselves. The API just makes sense, English-wise, more so than any other Lisp. I think it has to do with Lutz's background in psychology.

That said, I personally like Janet's use of square brackets, braces, etc. for distinguishing different data structures. It helps break up what otherwise would be a very monotonous looking syntax. I definitely am not a fan of "lots of syntax", but having nothing but parenthesis everywhere can make it hard to notice the datastructures vs functions vs whatever else. I think Janet picked a fairly good sweet spot.

And the lack of lists is interesting, true. However, for all intents an purposes arrays are sufficient and performance-wise faster. Same with real hashtables, which newLISP doesn't have.
Get your Objective newLISP groove on.