Why Janet? (2023)
yacin
461 points
239 comments
June 02, 2026
Related Discussions
Found 5 related stories in 95.2ms across 9,294 title embeddings via pgvector HNSW
- How and Why I Journal OuterVale · 22 pts · May 12, 2026 · 46% similar
- The Case of the Disappearing Secretary rwmj · 56 pts · March 07, 2026 · 39% similar
- Why Crystal, 10 Years Later: Performance and Joy multiplegeorges · 28 pts · April 21, 2026 · 38% similar
- Shantell Sans (2023) aleda145 · 174 pts · May 30, 2026 · 38% similar
- Teaching Claude Why pretext · 127 pts · May 08, 2026 · 38% similar
Discussion Highlights (20 comments)
IshKebab
Pretty compelling, especially "Janet does not adhere to the ancient customs. CAR is called first. PROGN is called do. LAMBDA is fn, and SETQ is def." - a sign of good sense for sure! How fast is it? Also my main objection to Lisps is still the horrible bracket syntax. Yes it's unambiguous and easy to parse, but it's HORRIBLE to read and edit. I wish this project had been a success (or something similar to it): https://readable.sourceforge.io/ Also I don't think static typing is really optional for me at this point.
krinne
This post is refreshing - smells of the pre AI discussions on the internet. A new language, a new syntax, heavy debate with people who have spent years writing code. I think someone should start a community online where AI isnt allowed.
uka
> But by allowing you to unquote literal functions, Janet makes it possible to write macros that are completely referentially transparent. These lisp guys really get excited over very abstract things. If you say this to an average person on the street they will probably try to run away.
skeledrew
This got me thinking of Hy. I wonder how syntactically close they are; there might be an exploitable Python -> Hy -> Janet path here. [0] https://hylang.org/
gspr
The embeddability sounds very appealing. Does anyone have experience with using this somewhere one might traditionally reach for Lua?
lindig
> Instead of regular expressions, Janet’s text wrangling is based around parsing expression grammars. Parsing expression grammars are simpler, more powerful, and more predictable than regular expressions. I would dispute that this is the case. In PEGs, alternatives are not commutative, unlike in regular expressions. This can lead to quite frustrating debugging. While a valid choice, the advantage over REs is overstated.
6LLvveMx2koXfwn
Maybe needs a (2023) in the title?
defrost
Previously (April 2023) | 140 comments: https://news.ycombinator.com/item?id=35539255
wodenokoto
I've been drawn into the Janet posts that surface every once in a while here on HN, but found the otherwise highly praised "Janet for Mortals", not being for mortals at all.
shevy-java
(defn foo [first & rest] ...) So basically Lisp 2.0. Although, this here is a good idea: "pass values from compile-time to run-time" Would be nice if some kind of "scripting" language be as fast as a compiled language, but without ruining the syntax. Just about 99% of the languages that are shown, have a horrible syntax. Syntax is not everything, but most language designers don't understand that syntax also matters. So tons of horrible languages emerge. Nobody will use those languages, so 99% of them will die off quickly.
makach
Excellent. Although I suspect the author of the programming language invented this Janet for all the perfect puns. Yes, Janet. No. Janet.
wolfi1
why is it called Janet? perhaps to prevent it to be identified with the acronym for Lots of Irritating Single Parenthesis?
0x0203
Seems some of the listed advantages for Janet would also apply for tcl (small/simple, easy to learn, embeddable, usable as a shell, great for domain specific languages). It would be interesting, to me at least, to see a fan of Janet compare the two.
ramblurr
Always nice to see janet getting some attention. shout out to one modern feature: sandbox "Disable feature sets to prevent the interpreter from using certain system resources. Once a feature is disabled, there is no way to re-enable it." https://janet-lang.org/api/misc.html#sandbox
anthk
Luxferre.top has some Janet based softwrae.
1313ed01
There is also fennel, earlier language originally by same developer, that is similar, but compiles to, and is fully implemented in, Lua. No standard library of its own so missing many nice things like the parser library from janet, but it is good for writing scripts for things that embed Lua. https://fennel-lang.org/
AHTERIX5000
Does embedding Janet still lean on global state?
xrd
The author made these using Janet (discussed on HN in the past): https://bauble.studio https://toodle.studio Those two fascinating art tools got me very excited about Janet a while back.
soomtong
This document was really helpful when I first met Janet: https://janetdocs.org/tutorials https://janet.guide/ (the author's one)
mackeye
janet has replaced sh, python, awk, etc. for me, for system scripts over a certain length! it has a very fast startup time (on my system, 1.4ms via hyperfine vs. 1ms for dash) for scripts (not compiled executables), and its sh-dsl module allows typing shell commands very elegantly, like ($ cmda w x | cmdb y z). the ability to load an image to debug is a big help, too. i've started using it very recently but it's probably one of my favorite languages now, and the only other lisp i've used is mit scheme for sicp.