giraffe_lady 20 hours ago

Which is really funny because that's basically exactly what fennel is, which was made by the same guy. I don't think he's written about it but fennel compiles to lua while janet is its own thing.

2
sourcepluck 17 hours ago

This is funny, cos I saw this stated somewhere on HN the other day, was totally amazed he'd done both, went and checked, and found out it was untrue - I think! Someone correct me please if I'm confused.

Calvin Rose made Janet https://github.com/bakpakin and https://bakpakin.com/

Phil Hagelberg made Fennel https://git.sr.ht/~technomancy/fennel and https://technomancy.us/colophon

ianthehenry 17 hours ago

It's complicated; Calvin Rose was the original creator of Fennel ("fnl"), but I understand it was just a little side project that he made over the course of a week or so in college. Phil Hagelberg found the project years later and thought it was cool, took over as its maintainer, and basically turned it into the Fennel you know today. So it's like, kind of, I dunno, both things are kinda true.

sourcepluck 17 hours ago

That's even more funny in the end, I thought GP was referring to Phil Hagelberg as creator of both, but they were referring to Calvin Rose as creator of both. Oops. Mystery solved.

Anyway - Fennel and Janet look very interesting, and a large thank you to everyone involved!

packetlost 19 hours ago

Correct. Syntactically it's more similar to Clojure while the runtime is, to my understanding, heavily inspired by the non-JIT versions of Lua.

As a language, it's fine. I found the documentation pretty good and the language makes some very sensible decisions but I can't bring myself to use it for anything serious. The lack tooling makes it challenging.

actuallyalys 15 hours ago

I personally like Fennel a lot, but it’s not at the point where I would build something large on top of it. The language itself is solid, but like you said, there’s not a lot of tooling.

giraffe_lady 19 hours ago

I have used janet for embedding into another program as an alternative to lua and it was great for that case. Lua doesn't have good tooling either, and I didn't have anything to gain from a tiny runtime and I wanted more powerful tools for making a DSL in there. It worked out perfectly, I'd do it again.

packetlost 17 hours ago

Yeah, I'm not saying there aren't usecases that it would excel at (sounds like you found one!), I just haven't really had a problem that I thought it would yet. I've come really close though