LFE (programming language)

LFE builds on Erlang to provide a Lisp syntax for writing distributed, fault-tolerant, soft real-time, non-stop applications.

LFE also extends Erlang to support metaprogramming with Lisp macros and an improved developer experience with a feature-rich read–eval–print loop (REPL).

Initial work on LFE began in 2007, when Robert Virding started creating a prototype of Lisp running on Erlang.

[3] This release of LFE was very limited: it did not handle recursive letrecs, binarys, receive, or try; it also did not support a Lisp shell.

In LFE, the list data type is written with its elements separated by whitespace, and surrounded by parentheses.

Unlike functions in Erlang and LFE, arithmetic operators in Lisp are variadic (or n-ary), able to take any number of arguments.

Robert Virding