-
-
Notifications
You must be signed in to change notification settings - Fork 29
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
The changes aim to provide a more accurate and informative introduction to LFE, its features, and its benefits.
- Loading branch information
1 parent
1f36152
commit 8c28dd2
Showing
1 changed file
with
8 additions
and
8 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,12 +1,12 @@ | ||
# 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) combine the robustness and concurrency of Erlang with the flexibility and power of a Lisp syntax. | ||
|
||
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 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. | ||
|
||
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. |