Calvin rose, the author of fennel is a really great programmer and an even better language designer. Personally, i dont use or like lua, but I'm a big fan of one of his other projects, janet[0] [0] https://github.com/janet-lang/janet
> i dont use or like lua, but I'm a big fan of one of his other projects, janet As a big fan of both Lua _and_ Janet, I'll just point out that a lot of what makes Janet nice and interesting are in fact inspired by Lua. Tables, fibers (coroutines), prototypes (metatables/metamethods), custom module loaders, a lot of the API, the peg parser (LPEG), etc etc. I understand no language is for everyone, but the influence ca…
Fennel: A Practical Lisp
11–20 of 91 posts
Re: Fennel: A Practical Lisp
#12Earlier quoted context omitted.
Not sure when you used Lua but there is a package manager called LuaRocks now which has some pretty nice packages in it for many purposes. I don't think it'd be too hard to get Lua running inside of a Python env either :) https://luarocks.org/
It's really pretty rough compared to everything else I've used. I really don't feel like luarocks solves very many of my problems. A lot of gaps in there, or libraries that only target 5.1, or only luajit. Or are completely unmaintained, or have poorly documented dependencies on C libraries. etc etc. I use lua a lot and like it fine but the build/dependency/tooling situation is a fucking mess. It exposes you to a lot…
The Lua libraries in these areas are very well maintained.
That said 90% of the time libraries ship as a single lua file and it’s often better to copy and paste it into your project. I have a modified version of lume I like to use floating around :)
This spartan approach to libraries is a strength of Lua.
Re: Fennel: A Practical Lisp
#13Re: Fennel: A Practical Lisp
#14Calvin rose, the author of fennel is a really great programmer and an even better language designer. Personally, i dont use or like lua, but I'm a big fan of one of his other projects, janet[0] [0] https://github.com/janet-lang/janet
Re: Fennel: A Practical Lisp
#15The thing I hate the most about Fennel is when you go back to Clojure and type `print` rather than `println`.
(ns foo.bar
(:refer-clojure :exclude [print] :rename {print println}))
(print "Should have a newline")Re: Fennel: A Practical Lisp
#16Importantly, Lua is pretty easy to embed in native applications. I haven’t found a Lisp or Scheme as easily-embeddable as Lua(+Fennel).
It’s also a good drop-in replacement for Lua. I write my Hammerspoon config in Fennel, and hopefully my Neovim config soon as well.
Re: Fennel: A Practical Lisp
#17Calvin rose, the author of fennel is a really great programmer and an even better language designer. Personally, i dont use or like lua, but I'm a big fan of one of his other projects, janet[0] [0] https://github.com/janet-lang/janet
I didn't realize the author of Janet was the author of Fennel, thanks for making the connection.
Re: Fennel: A Practical Lisp
#18Re: Fennel: A Practical Lisp
#19Fennel is really cool, and the fact that it builds on Lua—an already-popular language—is a huge win; Fennel gets access to the entire Lua ecosystem. Importantly, Lua is pretty easy to embed in native applications. I haven’t found a Lisp or Scheme as easily-embeddable as Lua(+Fennel). It’s also a good drop-in replacement for Lua. I write my Hammerspoon config in Fennel, and hopefully my Neovim config soon as well.
The others I haven't tried embedding, but I hear racket is really no fun to embed,but things might have changed with the chez transition.
Re: Fennel: A Practical Lisp
#20Fennel is really cool, and the fact that it builds on Lua—an already-popular language—is a huge win; Fennel gets access to the entire Lua ecosystem. Importantly, Lua is pretty easy to embed in native applications. I haven’t found a Lisp or Scheme as easily-embeddable as Lua(+Fennel). It’s also a good drop-in replacement for Lua. I write my Hammerspoon config in Fennel, and hopefully my Neovim config soon as well.