IODyn: A functional language for implicitly-incremental programs with dynamic input and output collections ![Travis](https://camo.githubusercontent.com/e65482b74b83929ae1a607e67de55cbe04bb23e107a6e6834873bb6c8f6d6388/68747470733a2f2f6170692e7472617669732d63692e6f72672f6375706c762f696f64796e2d6c616e672e727573742e7376673f6272616e63683d6d6173746572)
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.