GenericJam
Re:Show HN: Study Bible MCP – scholarly Greek/Hebrew lexicons and morp...
on Wednesday April 29, 2026 @11:40AM (#47949952)
I use this all the time and I love it. I can research all my pastor's sermons. Haha.
Re:Lisp in Space
on Tuesday May 03, 2022 @07:50PM (#31255113)
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.
Re:Lisp in Space
on Tuesday May 03, 2022 @07:16PM (#31254824)
Another thing about the BEAM that may resonate for you is the abstract syntax tree (AST) for the BEAM is very reminiscent of Lisp. Some people call Elixir which is a popular reworking of Erlang which also runs on the BEAM a secret Lisp as it gives direct access to the AST via macros.
A friend wrote on the topic here: https://dorgan.netlify.app/posts/2021/04/the_elixir_ast/
Re:Lisp in Space
on Tuesday May 03, 2022 @07:05PM (#31254734)
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.
Re:Lisp in Space
on Tuesday May 03, 2022 @06:19PM (#31254326)
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).
Re:Lisp in Space
on Tuesday May 03, 2022 @04:55PM (#31253462)
Is Lisp + message passing a bridge too far? ie https://lfe.io/
Does Lisp on the BEAM hold any appeal for you?