2 ms·
I've used both they're both good. I use fennel more because I have to write a lot of lua and don't really like it. Fennel drops in easily, can share tables and
by giraffe_lady 1y ago
I've used both they're both good. I use fennel more because I have to write a lot of lua and don't really like it. Fennel drops in easily, can share tables and functions both ways, and fixes a lot of lua's (non-tooling related) warts.
Janet is also very good, I like it a lot I just don't have a ton of use for it. It's good as a high level scripting or glue language, but then so also are ruby, python, node, elixir, raku, and so on you probably already know several so it's hard to justify learning another. It's pleasant though.
I think janet is actually an extremely strong lua competitor for embedding, it takes the best parts of lua's design on that front but also includes excellent tools for implementing parsers and DSLs (PEG lib in the language core! and macros) which is most of the time what you're embedding lua for in the first place.
So basically janet is good to replace lua, and fennel is good when you can't replace lua.
Re: lisp. I think the main thing about "modern" lisps is that they don't use a cons cell or linked list as the main data structure, though they still use it for code structure. These two (and also clojure) use hashmaps and arrays a lot more, and have lispy ways of interacting with them. Some nerds will say it's not really a lisp for this reason and to them I say "ok."