1.1 L in brief
L is:
- A compiled language with a C-like syntax, and Lisp-like macros.
- It is an extensible programming language : even the syntax is
modifiable at run-time.
- It is a mostly-safe language, with strong typing and encouraged
confinement of dangerous constructs.
- Finally, thanks to extensibility, L is an universal language:
it can be used both for low-level and system programming than for
creating complex high-level applications. Using certain set of
predefined modules, it could even be used as a scripting language.
So, L can be seen both as:
- C with stronger typing + extensible compiler support (macros, parser,
expanders) + fully expression-based.
- or Lisp with low-level capabilities, static typing, support for custom
syntaxes, and type-aware macros.
Hence the name, L: L combines C and Lisp.
But L is not just a combinaison of two languages: it a language of its
own. Just like Lisp and C are both defined by a just a small number
of specific characteristics, L's features make it unique.