Content deleted Content added
more influences |
add some links |
||
Line 46:
* Parametric algebraic data types, pattern matching, and compile-time exhaustiveness checking.
* Multi-parameter type classes with functional dependencies.
*
* Advanced [[Immutable object|immutable]] data structures including [[hash
* Machine code compilation (on Lisp hosts that support it).
* Compiler optimizations including heuristic [[Inline expansion|inlining]] and user-controlled inlining with the <code>inline</code> directive.
* User-controllable function [[monomorphization]] with the <code>monomorphize</code> directive.
* User-controller data type representation control with the <code>repr</code> directive.
* Separate development and release modes. Release mode enables greater compiler optimization opportunities at the expense of development interactivity.
* Non-[[Memory allocation|allocating]] <code>Optional</code> data type (cf. Haskell's <code>Maybe</code> or OCaml's <code>Option</code>).
* Inline Common Lisp code with the <code>lisp</code> operator.
* Metaprogramming via ordinary <code>defmacro</code>.
* Advanced numerical data types including [[dual number|dual numbers]], hyper
== Examples ==
|