IODyn: A functional language for implicitly-incremental programs with dynamic input and output collections
IODyn is a functional language, in the ML family of languages (SML, OCaml, Elm, etc.).
As with other MLs, IODyn consists of a typed core calculus, with (higher-order) functions and persistent algebraic data types.
IODyn programs in this core calculus operate over a collections library of sequences, sets, finite maps and graphs (in progress).
We give well-typed, well-annotated IODyn programs an implicitly-incremental semantics, via translation to Fungi, our low-level core calculus for functional programs that name their own cached dependency graphs.
- We have implemented the AST structure, concrete syntax (via Rust macros for now) and basic type system.
- We have begun the translation to Fungi, but are currently focusing on implementing Fungi before proceeding further with the translation.