Hacker News new | ask | show | jobs
by amelius 3615 days ago
That 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?
5 comments

No, 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-sca...

It's the other way around. AKKA started as a straight copy of Erlang actor model[0]. And Scala is much younger than Erlang.

EDIT: Oh wait, I got myself baited.

[0] Source: the original author of AKKA admitted it on a Java conference I attended.

Erlang 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.

According to Wikipedia, work on BEAM started in 1992. Still earlier than Java.

LFE appeared in 2008, so it's newer than Scala.

Erlang was released into the 'wild' in 1988, but it had a Prolog-based VM, or JAM, Joe's Abstract Machine before the BEAM.[0]

The BEAM VM was being worked on in 1992 a year after work on Java in 1991.

[0] http://erlang.org/faq/implementations.html

> The BEAM VM was being worked on in 1992 a year after work on Java in 1991.

You're right. What I meant by "still earlier than Java" is "still earlier than first public Java version", so there was no possibility to borrow anything.

BEAM 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).
That article was posted on April 1st 2011...
I was about to mention that was backwards but forgot about that silly April fools joke. That was worth a good laugh this morning.
That 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.

They are not compiling to JVM. LFE compiles to BEAM.
From the docs I understand that it is interpreted and runs on erlang vm. I did not find anywhere that lfe code is compiled.
The 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.tx...

Erlang, 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.

I'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.
experimental project https://github.com/lfex/jlfe (erlang on the jvm)