14 ms·
Lisp Flavoured Erlang
- amelius 10y agoThat cup of coffee in the logo suggests they are compiling to the Java JVM. If true, this makes me wonder why aren't they using Erlang itself as a target?
- iamd3vil 10y agoThey are not compiling to JVM. LFE compiles to BEAM.
- kirankuppa 10y agoFrom the docs I understand that it is interpreted and runs on erlang vm. I did not find anywhere that lfe code is compiled.
- otoburb 10y agoThe LFE compiler is referenced deeper in the documentation[1]. I also had to hunt to answer that question after the tutorial gave an example of compiling one of the example modules. [1] https://github.com/rvirding/lfe/blob/develop/doc/lfe_comp.txt https://github.com/rvirding/lfe/blob/develop/doc/lfe_comp.tx...
- macintux 10y agoErlang, LFE, and Elixir are all compiled languages, yes. Having said that, they all support interactivity via a shell, including dynamically defining functions and tweaking the runtime. LFE does a better job at functions than Erlang; I'd wager Elixir too, but haven't looked closely at it.
- indatawetrust 10y agoexperimental project https://github.com/lfex/jlfe https://github.com/lfex/jlfe (erlang on the jvm)
- eggy 10y agoNo, it is built right on top of Erlang for seamless integration, and of note is that it was created by Robert Virding, one of the original creators of Erlang along with Joe Armstrong. LFE macros deliver true homoiconicity to Erlang. It is a Lisp 2, and supports function and macro definitions at the REPL. I prefer it to Elixir, because I prefer Lisp. Robert has also created a Lua 5.2 written in pure Erlang. Evidently, Erlang's actors and BEAM VM were influenced by the JVM and Scala, so I guess doing a JVM Erjang was in the cards. [1] [1] https://www.infoq.com/news/2011/04/erlang-copied-jvm-and-scala https://www.infoq.com/news/2011/04/erlang-copied-jvm-and-sca...
- plug 10y agoThat article was posted on April 1st 2011...
- strmpnk 10y agoI was about to mention that was backwards but forgot about that silly April fools joke. That was worth a good laugh this morning.
- pessimizer 10y agoErlang Copied Scala's Actors & Erlang's VM is almost a Clone of the JVM - Apr 01, 2011 Erlang was released in 1986, Java in 1995, and Scala in 2004. I wouldn't be surprised if LFE were older than Scala.
- dozzie 10y agoAccording to Wikipedia, work on BEAM started in 1992. Still earlier than Java. LFE appeared in 2008, so it's newer than Scala.
- strmpnk 10y agoBEAM was just one of a series of virtual machines that implement the Erlang language, so it's not really fair to compare it to Java (just as HotSpot was built a few years after Java).
- hellofunk 10y agoThat logo does not even remotely resemble the Java logo. There are literally thousands of companies in the world using a bird in their logo, but they are not all the same company/organization/concept.
- toast0 10y agoI've only recently become a coffee drinker, but if someone gives me purple coffee, I'm not drinking it! We didn't even have purple coffee at Yahoo! I think that's tea.
- macintux 10y agoOne of the particularly nice things about LFE is the team's commitment to documentation. Duncan McGreggor has done a great job.
- edem 10y agoI think it would be nice to see some comparison to Clojure for example which is a JVM-integrated lisp-1. I have for example Elixir on my radar for a while but I'm very interested in seeing more lisp dialects running on popular VM implementations. My point is that I don't know how to compare this to Clojure (in my case). What advantages does it have and why should I use it?
- DigitalJack 10y agoI am a fan of clojure. I'm interested in LFE, but I've been focussing on learning Haskell lately, and don't want to switch gears yet. The big thing that I miss in clojure are the data structures, and the ease of use of those data structures. Specifically vectors and maps. These exist all over the place, but no where (in my experience) are they as pain-free as clojure. That combined with their immutability (yet easy to transform) is a really significant win for productivity. As I've looked for other languages to learn, those sorts of easy to use and highly productive datastructures has been a top criteria. Haskell has them, but I wouldn't put them on the easy to use list yet. However I'm still learning, and it might just come down to familiarity. Chicken Scheme has them as an egg, but the syntax makes them far more encumbering than clojure. If LFE has the same unencumbered immutable datastructures for maps and vectors, well, that would be exciting to me.
- zensavona 10y agoElixir certainly does. Check out the docs for the Enum package.
- edem 10y ago> The big thing that I miss in clojure are the data structures, and the ease of use of those data structures. Specifically vectors and maps. These exist all over the place, but no where (in my experience) are they as pain-free as clojure. I'm not sure I understand. Why do you miss them when you have them in Clojure? Is it a typo and you meant to say LFE? By the way one of my biggest productivity boost for me is the hot code swap which works in Clojure seamlessly. In java you can't do this wihtout JRebel for example. What is the case with LFE?
- grenoire 10y agoThe right aligned text bugs me very much whenever I see this website. It's unnatural.
- insulanian 10y agoUnless one of the many right to left scripts is the one you learned first instead of the latin.
- izietto 10y agoI love the website!!!
- i_s 10y agoAs a Clojure fan, I tried using this, but I got the impression it has learned next to nothing from Clojure, so I ended up going with Elixir instead. Particularly: - No data structure literals (?) - (except e.g., '(1 2 3) for lists) - Manual module exports, instead of just having 2 versions of def - Other small syntactic annoyances, like plain parens everywhere, instead of brackets in some cases like Clojure, and atoms (like keywords in clojure) started with "'" rather than ":"
- hashkb 10y agoWhy assume every new lisp should borrow from Clojure? I think the extra parens types are annoying and unnecessary, personally. Clojure is pretty different from most lisps, maybe lfe is going for wider appeal?
- i_s 10y agoI can't prove that it should. Just providing a list of initial impressions from someone who has been using Clojure for a while, FWIW. It's necessarily subjective. Seems like it would be a good idea though, since Clojure is a new lisp that has gotten a decent amount of traction in industry.
- hashkb 10y agoI think a lot of that has to do with Java interop. I could be wrong but IMO the language features people rave about are all balanced by warts. I like Clj and I like CL and many Schemes. Diversity is cool.
- DigitalJack 10y agoI agree that java interop is a big deal, but mainly to library writers. End users, I think, end up using clojure wrappers around java libs instead of java libs directly. For end users (application writers), the single most important thing are the easy to use yet very powerful data structures.
- 10y ago
- brudgers 10y agoRecent discussion: https://news.ycombinator.com/item?id=11302125 https://news.ycombinator.com/item?id=11302125