Skip to content
mjambon edited this page Mar 2, 2011 · 2 revisions

LinearML (or LiML) is a programming language designed to write efficient parallel programs.

Its main characteristics are:

  • Purely functional
  • Statically typed
  • Strict evaluation order

In LiML, the default is, every value has a linear type, this implies:

  • Thread-safe copy-less message-passing between threads
  • Thread-safe IOs
  • In-place updates for the vast majority of operations (better cache hits)
  • Statically enforced memory management. In other words, there is no garbage collector, the memory usage is safe, it's guaranteed statically !