"Taking the syntax out of distributed systems programming"
repl image mobile

LFE comes with a powerful REPL, supporting interactive development (including writing macros!) as well as running scripts or even evaluating arbitrary LFE code via the command line.

 

LFE is not a casual Lisp. It's a Lisp for those who want to build distributed applications -- like the Erlang software that powers 40% of the world's telecommunications.

LFE Features

lisp alien logo

Alien Technology

It is an established fact that John McCarthy shared alien tech with the world in 1958 when he introduced us to Lisp. We continue that great tradition.

  • Functions and variables with separate namespaces (LFE is a Lisp-2)
  • Low-hygiene Macros
  • Homoiconicity
  • In-REPL Function and macro definitions

Core Erlang Foundation

All the benefits of Erlang with none of the Prolog.

  • No global data
  • No mutable data
  • Pattern matching and guards
  • Compiler and interpreter
  • Hot upgrading of deployed code
  • The Banarama of languages

The ability to generate distributed applications and full releases in mere minutes.

  • Fault-tolerant
  • Massively scalable
  • Extreme Concurrency
  • Soft real-time
  • Open. Telecom. Platform.

Language Lab

The mad-scientist powers of a Lisp combined with the efficiency of the Actor Model and Erlang's light-weight processes.

  • Experiment with creating distributed systems in new ways.
  • Create DSLs on-demand.
  • Take advantage of 1000s of cores without having to change your code.
  • Easily write your own compilers.

Build It with LFE

Scripts

In addition to all the heavy-duty power that LFE gets for free, by virtue of the Erlang VM, you can also create small, easy-to-write one-off main scripts, lfescripts, and even escripts -- either as a single file or with additional modules to help organise those larger scripts.

Stand-alone Libraries

Building libraries for use by LFE applications (and even Erlang or other BEAM language applications!) is the bread and butter of LFE hackers. The Erlang/BEAM ecosystem is fully accessible to LFE applications, but you also have the freedom to do more in LFE.

OTP Applications

You can take advantage of OTP with LFE in mere seconds, creating fault-tolerant applications with built-in process monitoring and supervision trees, so you gen_servers (and all the other behaviours, too) never go down.

OTP Releases

When your LFE prototype is ready for the big-time, you can run it with all the sophisticated machinery of an OTP release. In fact, you don't have to wait: start your prototype as a release, with zero pain and all of the benefit.

Books

sicp
Duncan McGreggor & Robert Virding

LFE Chinenual

A work in progress, this book aims to eventually be the complete manual for LFE

lfe-tutorial
Robert Virding & Duncan McGreggor

The LFE Tutorial

An LFE version of the classic 'Erlang Tutorial'

casting-spels
Duncan McGreggor & Conrad Barski

Casting SPELs in LFE

Build a text-based adventure game in LFE!

sicp
Gerald Sussman, Harold Abelson, & Duncan McGreggor

SICP: The LFE Edition

An LFE 'port' of the classic Scheme text

Note that, while the first section of the book is complete, the remaining sections have not been completed

Videos

LispNYC 2021
YouTube

Lisp Flavoured Erlang

LispNYC, 12 Jan 2021 with Robert Virding

ClojuTRE 2015
YouTube

Wherefore art thou LFE?

ClojuTRE 2015 with Robert Virding

CodeSync 2022
YouTube

Sound on BEAM: Music in the Land of Distributed Lisp

CodeSync 2022 with Duncan McGreggor

LFE EFSF 2017
YouTube

Lisp Machine Flavors for LFE on OTP

Erlang Factory 2017 with Robert Virding

LFE EUC 2016
YouTube

LFE: A Real Lisp in the Erlang Ecosystem

EUC 2016 Stockholm with Robert Virding

LFE EFSF 2014
YouTube

LFE from 0 to 120kph...
in 45 Minutes

Erlang Factory 2014 with Duncan McGreggor

Give yourself to the Lisp side of the Force!

discord logo

Join us on
Discord!

call-out content mobile