|
|
|
|
|
by rkallos
3622 days ago
|
|
LFE does have data structure literals for some of the main data types in Erlang. You have #() for tuples, #M() for maps, and #B() for binary syntax. Clojure additionally has syntax for vector literals, but vectors don't seem to be used very often in Erlang, though there is an Erlang module for dynamic arrays which is accessible in LFE. If you felt so inclined, I believe you could extend the LFE reader to add syntax for arbitrary data structures. I'd guess that the manual module exports are a design decision inherited from Erlang, where you specify exported functions with the -export() macro. As for the rest of the syntax; it appears (to me, at least) that LFE doesn't deviate terribly much from traditional Lisp syntax, while still being transparent about the underlying Erlang data types being used. Clojure took the opportunity to introduce a more opinionated Lispy syntax. This really boils down to personal preference. All in all, I think that the various design decisions of LFE and Clojure make a lot more sense when you consider their respective host languages/VMs. |
|
Completely agree it boils down to personal preference.