adapton 0.2.1

Library for Incremental Computation (implicit dependency graphs & memoization)

Adapton in Rust Travis

A general-purpose Incremental Computation (IC) library for Rust.
available on crates.io

Based on:

Library Components:

  • The library exposes a small core interface.
    See the Adapton trait.

  • The library uses rust macros to provide syntactic sugar.
    See macros.

  • The library implements this interface with an imperative data structure, and without garbage collection.
    See Engine.

  • The library provides generic incremental data structures and algorithms.
    See also: collection.rs:

    • generic lists
    • generic binary trees
    • tree unfold: balanced trees from a step function
    • tree folds (left-to-right, right-to-left, bottom-up)
    • sorting: mergesort
  • Next:

    • tries that represent sets, maps,
    • generic fixed-point loop
    • graphs, graph exploration algorithms (e.g., search)
  • The library provides interfaces to script interactions using generic DSLs for editing and querying
    See also: collection.rs:

    • script input creation, editing
    • script computations over input (observations)

Supported Incremental Computation Paradigms:

Future work

Technical Debt

Rust-Specific: