4 ms·
Interesting - can anyone provide an in-depth comparison to LFE [1]? From a quick look, it looks like Joxa is more similar to Clojure than it is to Common Lisp,
by osense 11y ago
Interesting - can anyone provide an in-depth comparison to LFE [1]? From a quick look, it looks like Joxa is more similar to Clojure than it is to Common Lisp, whereas LFE takes the opposite appoach.
[1] https://github.com/rvirding/lfe https://github.com/rvirding/lfe
- yellowapple 11y agoThe obvious difference is that LFE is maintained by Robert Virding (one of the original creators of Erlang itself). I'd imagine this would translate to LFE being more "Erlangy", but this assumption comes from a lack of experience with either.
- oubiwann 11y agoSo a couple of comments here :-) Robert is actually an old-school Lisper (and a hard-core one, too). LFE has been inspired not only by CL but also Maclisp. The point being that, yeah, he's an Erlang guy, but he was first a Lisp guy (and has always remained so). Second comment: LFE is a Lisp, but it's a Lisp whose first and foremost goal was to allow one to build fully Erlang (and OTP)-compatible systems in Lisp. Clojure's Lisp has a Java flavour; LFE's Lisp has an Erlang flavour. They are both very real and compelling Lisps :-)
- yellowapple 11y agoThanks for the clarifications.
- rdtsc 11y agoIf I recall correctly Joxa is Lisp-1 and LFE is a Lisp-2.
- cyberlync 11y agoThis is true as well.
- diginux 11y agoI will see if I can get Eric (the creator) to reply.
- cyberlync 11y agoIts mostly about approach. LFE (literally Lisp Flavored Erlang) is Erlang with an S-expression based syntax. Joxa is a self contained Lisp that happens to run on the Erlang VM. Those are the core differences. Joxa also has some very clear and distinct goals of its own. Those goals are not really relevant to this discussion though.
- rvirding 11y agoNot quite, LFE is a self-contained Lisp system with all the things you would expect a lisp system to have. It has been designed to run on the Erlang/OTP system and to efficiently use all the features of that system and its VM. This means that LFE has a clean interface to Erlang/OTP so it can easily be used together with applications written in Erlang. Mixing components written in Erlang and in LFE to write a larger application is straight-forward and painless. If I could rename it then a better name would be EFL (Erlang Flavoured Lisp), which is what it is. The "Flavoured" in the name comes from that I had earlier implemented a Lisp machines flavors system on another lisp, with an english spelling thrown in as a joke.
- oubiwann 11y agoOh, wow -- that's a great tidbit! I hadn't heard that before, Robert (one for the LFE Lore files ...)