Recent submissions

Comment · 6 months ago
I use this all the time and I love it. I can research all my pastor's sermons. Haha.
Comment · 4 years ago
If you're interested there's a lot of info about the compiler here: https://blog.stenmans.org/theBeamBook/#CH-Compiler

There are multiple passes, the last of which is byte code although at one point, native code was (is?) an option with HiPE (High Performance Erlang). HiPE seems to have been passed over by the development team in favour of JIT.

Comment · 4 years ago
Comment · 4 years ago
The BEAM (runtime?) is written in C. There is also an effort to rewrite it in Rust (https://github.com/lumen/lumen). Some functions are built into the VM but most of the supporting 'standard library' (OTP / Open Telecom Platform) is written in Erlang. The (main) compiler is written in C. So it's all C or Erlang afaik.

It is ported to every major flavour of OS.

I don't know what 'back end' means in this context.

Comment · 4 years ago
With Erlang it's necessary to separate the compiler from the VM. You are working around what the VM wants but the compiler is not a problem. The VM acts a bit like an operating system that can schedule its own processes and processes can send each other messages. In order to receive a message a process has to have a receive block and be capable of receiving the message (with an applicable pattern match). When a process is waiting for a message, it is set aside by the VM so it consumes very few resources (just a bit of memory). It is woken up when it receives a message. This way a single 'program' can have many things going on at once and it is never blocking. From the programmer's perspective it feels like you are writing synchronous code but you are getting async behaviour 'for free'.

wrt LFE specifically, Robert Virding, one of the founders of Erlang, really likes languages and Lisp in particular so he wrote one for the BEAM. It just has some special accommodations to be able to send/receive (and I think pattern recognition too).

Comment · 4 years ago
Is Lisp + message passing a bridge too far? ie https://lfe.io/ Does Lisp on the BEAM hold any appeal for you?

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton