Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update ABOUT.md #248

Merged
merged 4 commits into from
Jun 24, 2024
Merged
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 7 additions & 8 deletions docs/ABOUT.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
# About

Lisp Flavoured Erlang (AKA LFE) is a lisp syntax front-end to the Erlang compiler.
Code produced with it is compatible with "normal" Erlang code.
LFE is a (proper) Lisp based on the features and limitations of the Erlang VM.
**Lisp Flavoured Erlang** (AKA LFE) cmbine the robustness and concurrency of Erlang with the flexibility and power of a Lisp syntax.
kotp marked this conversation as resolved.
Show resolved Hide resolved

LFE has many origins, depending upon whether you're looking at Lisp, Erlang, or LFE-proper.
The LFE community of contributors embraces all of these and more.
LFE is a programming language that uses Lisp syntax as a front-end for the Erlang compiler. This means you can write code in LFE that works seamlessly within the Erlang ecosystem, taking full advantage of Erlang's powerful features. But what makes LFE stand out is its ability to mix the concise and expressive nature of Lisp with Erlang's proven capabilities.

LFE is a Lisp-2.
In Lisp-2, the rules for evaluation in the functional position of a form are distinct from those for evaluation in the argument positions of the form.
In addition, LFE not only has separate value and function space but also allows multiple function definitions for the same name, as Erlang does.
LFE is useful in applications that require the **robustness** and **concurrency** handling of Erlang, combined with the **flexibility** of a Lisp-family language.

LFE is classified as a Lisp-2, which means it has separate evaluation rules for functions and arguments. This design allows for more sophisticated function definitions and greater flexibility in code structure. Moreover, LFE supports polymorphic function definitions, as Erlang does.

LFE predates Elixir and was created by Robert Virding, one of the original developers of Erlang. With strong influences from Common Lisp, LFE is built on a foundation of decades of programming language development.
kotp marked this conversation as resolved.
Show resolved Hide resolved