Lisp Flavored Erlang (LFE) is a general-purpose programming language and Lisp dialect built on Core Erlang and BEAM, the Erlang virtual machine.
LFE (Lisp Flavored Erlang) enhances Erlang by introducing a Lisp-style syntax for creating distributed, fault-tolerant, soft real-time, and non-stop applications. Additionally, it extends Erlang to enable metaprogramming through Lisp macros and provides an improved developer experience with a feature-risk read-eval-print loop (REPL). LFE is compatible with all recent Erlang releases, starting from R14.
A functional, concurrent, garbage-collected programming language, LFE was created by Robert Virding. Its development began in 2007 when Virding began working on a prototype of Lisp running on the Erlang virtual machine (BEAM). The initial focus was on parsing and exploring what an implementation might look like.
The first release of LFE was announced by Virding in March of 2008. However, this early version didn't handle recursive letrecs, binarys, receive, or try, and it lacked support for a Lisp shell. The language has since evolved and is supported by recent Erlang releases.
LFE was influenced by Erlang, Common Lisp, Maclisp, Scheme, Elixir, Clojure, and Hy, and it has itself influenced Joxa and Concurrent Schemer.
As of this writing, its most recent release was in January of 2023. It is available via the Apache 2.0 license.
This portion of our web guide on computer programming languages highlights the Lisp Flavored Erlang (LFE) language. Topics related to the language, its source code, repository, and any IDEs or other tools and utilities designed to facilitate programming with LFE, are appropriate for this category, along with online resources for its developer community, forums, tutorials, guides, reviews, and other online resources.
 
 
Recommended Resources
Originally a comic book (Casting SPELs in Lisp) for teaching Common Lisp, the project has been ported to LFE (Casting SPELs in LFE), combining whimsy, programming, and learning. The tutorial introduces Lisp's design, and presents snippets of Lisp code in the LFE REPL (interactive interpreter), and covers basics and syntax, guiding readers through creating their own text adventure game using LFE. It is licensed under the GNU Free Documentation License 1.2.
https://cnbbooks.github.io/lfe-casting-spels/
GitHub is a developer platform that facilitates code collaboration, version control, and project management, serving as a platform for developers to create, store, manage, and share code, documentation, and other project-related files. This is the official GitHub repository for the Lisp Flavoured Erlang (LSP) developer community. The necessary LSP files and documentation are available here, along with its branches and contributors. Issues may be reported or viewed here.
https://github.com/lfe/lfe.github.io
Originally written by Duncan McGreggor and Robert Virding, the LFE Machine Manual is a long-term project and a work in progress at its GitHub repository. It serves as a comprehensive guide to the LFE/OTP machine, with recent text available for reading, and licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. It offers a guide to computer programming with the LFE programming language, including basic and advanced programming techniques.
https://cnbbooks.github.io/lfe-manual/
This is a tutorial on the Lisp Flavored Erlang (LFE) programming language, a functional programming language that runs on the Erlang virtual machine. The tutorial covers LFE syntax, data structures, and functional programming concepts, which should be helpful to curious learners to seasoned developers wanting to learn to program with LFE. The tutorial is sorted into chapters and sub-chapters for ease of use. The tutorial is a work in progress in the CNB Books GitHub repository.
https://cnbbooks.github.io/lfe-tutorial/
LFE is not a casual Lisp, but a Lisp for those who want to build distributed applications, like the Erlang software that powers much of the world's telecommunications. The official website for the LSP programming language describes its features and includes books, videos, tutorials, and a directory of LFE resources. Resources from the developer community, downloads, contacts, and links to its repository and source code, as well as an informational blog.
https://lfe.io/
Structure and Interpretation of Computer Programs: The LFE Edition
The first edition of this book was comprised of a series of texts written by faculty of the Electrical Engineering and Computer Science Department at MIT. Written by Harold Abelson and Gerald Jay Sussman, with Julie Sussman, and edited by Duncan McGreggor, the book may be read online and is licensed under a Creative Commons Attribution-Noncommercial 3.0 Unported License, with printed copies available from MIT or its local distributor. The tutorial is sorted into chapters and sub-chapters.
https://cnbbooks.github.io/lfe-sicp/
Taking the Syntax out of Distributed Systems Programming
This documentation site provides resources for learning the Lisp Flavored Erlang (LFE) programming language. Beginners wanting to learn to program and experienced developers wanting to learn a new language could learn about the LFE programming language. Included are syntax, best practices, and practical examples to help navigate the technicalities of distributed systems programming through LFE. Additionally, OAuth and GitHub API are covered, with information on interacting with GitHub.
http://docs2.lfe.io/