Skip to content

Functional Programming

Andrew Johnson edited this page May 24, 2024 · 1 revision

Functional Programming is supported within the compiler internals based on the semantics of System F<: with Specialization. When using functional programming in applied contexts it often becomes necessary to use a variety of data structures that may have runtime costs.

Closures

Implementation of closures is currently blocked waiting on the implementation of parametric polymorphism for data classes and functions.

Evaluation Order

LM is not explicitly eager or lazy, it just generates code to follow whatever pattern you ask for. The compiler itself is eager, but that doesn't mean your code needs to be the same.

Gradual Typing

There is no development schedule for this yet, but it is definitely on the planning table.