[1] http://extempore.moso.com.au/Elixir really is a brilliant language and José et al have made the developer experience second to none with hex, mix, the language guide and docs. Compare how you bring up a repl: Elixir, type iex; LFE, cd into LFE dir, type ./bin/lfe. (EDIT: this is incorrect, see child) Trivial example and something easily fixed if it bothers you, but it's emblematic of the attention to detail that has gone into devx. I am deeply in love with Elixir. That Robert co-authored Erlang should not mean giving Elixir any less consideration IMO.
That said I sincerely wish to congratulate Robert on this 1.0, I look forward to using LFE in anger for something very soon now it is 1.0 (and it will be easy to slip in an LFE module into one of my OTP apps). Exciting times for the Erlang ecosystem.
Is that a joke?
> If you have installed LFE, then you may start the REPL from any location:
$ lfe
what you quoted is if you're running LFE straight from the git clone[0], and noted so.[0] because you may not want a system-wide LFE and LFE is being a nice citizen in explicitly supporting that use case.
I feel that this LFE release further validates BEAM as a promising platform for future development of new programming languages. Also I look forward to reading SICP converted to LFE. Available chapters can be found here https://www.gitbook.com/book/lfe/sicp
"#Erlang based language ecosystem is more diverse than many know: #efene #reia #lfe #luaerl #erlog #elixir #mercury"
https://twitter.com/BillBarnhill/status/670601359016771584
edit: Wow, and many of them seem to actually be by the same rvirding who authored lfe:
Still a massive achievement, awesome stuff.
* I am just going to ...
>LFE (Lisp Flavoured Erlang) has been designed to run efficiently on the Erlang VM and at the same time be a "real lisp" providing Lisp's good bits.
It also knocks Clojure a bit. What do you all think are the "good bits" of lisp that Clojure lacks?
What do you all think are the "good bits" of lisp that Clojure lacks?
Compared to common lisp off the top of my head (correct me if I am misrepresenting Clojure from memory): condition system, multiple return values and &key, CLOS with all that entails, and I seem to remember that clojure had some fiddly issues with macros and reader macros.Not intended as a knock on Clojure, btw, but the JVM is somewhat limiting, in the same way you can't do a "proper" common lisp on the CLR.
[1] http://shenlanguage.org/Hm, I guess I can't imagine how that would work, one language running under all those environments?
Now if my Clojure flawored Lisp starter level knowledge could be somehow transformed into Erlang flawor...
I wrote this:
> (map (lists:seq 1 10) (lambda (a) (io:format a)))
and this happened: #M((1 2 3 4 5 6 7 8 9 10) #Fun<lfe_eval.12.88887576>)
So, I'm not quite there yet. Hopefully somebody can make a Clojure to LFE comparison.And using Elixir based things like Phoenix springs to mind...
(lc ((<- x (lists:seq 1 10))) (lfe_io:format "~p" x))
What are limitations?
If you're on a VM or other target that doesn't do them natively, it's worth fighting tooth and nail to somehow get the functionality.
E.g. make an inefficient variadic type that at the VM level takes a single argument---a list or vector of the arguments. Or multiple types for different combinations of fixed arg arity plus variable list.
But surely one could call a function with one argument, which is a variable-length list of arguments, right?
[] The macro handling can go part way to hide this.
I had to laugh :-) That reads like it's out of the Moonual ...
It has Common Lisp style defmacro (augmented with pattern matching), and Scheme-inspired defsyntax. The documentation warns that both are unhygienic, and `grep -ri gensym` didn't find anything in the repo.
How do I go about sponsoring a technical writer to complete them?
- Clojure vs LFE
- JVM vs BEAM
- Lisp-1 vs Lisp-2
Etc, if you are interested only in the syntax differences, there is not much difference there (there are obviously some though!). I think generally speaking Erlang has fewer libraries than Java so that is a big difference in my opinion.
Im going to buy some spare paren keys, they might become scarce in the immediate future.