The tour of L:
A short list of L features
A language cannot be summed up as a list of features, because it
is the combination of the features (and derived idioms) that
provide the "feel" of the language. However, the following short
list provides an appetizer:
- Open source
implementation: The L compiler is licensed under the
Cecill-C license, a copyleft and LGPL-compatible license that
allows linking without restriction.
- A simple, familiar
syntax optimized for readability: alignment and
indentation, everything is an expression, separation with
newline, simple grammar, optional type annotations...
- Algebraic
datatypes and pattern matching for elegant retrieval of
parts of an object.
- Parametric
polymorphism allows to define code that work for any type,
and does not require any type annotation or special
syntax.
- First-class
functions: pass dynamically-created functions as parameter
to improve code reuse, factorize code, and make it more
efficient.
- Static
typing with complete type inference allows to combine the
efficiency and early error detection of statically-typed
language compiled language (e.g. C/Java/Ada), with the
convenience and readability of dynamically typed ones (e.g.
Ruby/Python/Lisp).
- Macros and syntax
extensions allows to extend the language, from simple
syntactic sugar to complex domain-specific-languages.
- Interpretation
and native compilation to LLVM for efficient code generation.
- Mutable
variables and imperative features for practical, efficient
programming.
- Garbage collection
improves the programmer productivity.
- Guaranteed
optimizations allows writing performance-critical code in
a readable form, and will ultimately allow writing low-level
system code.
- And more
Want to know more? Have a look at
the longer introduction,
that will get you started!