Crate adapton [] [src]

Modules

catalog

Experimental collections, including those for sequences and sets. (See also: The IODyn crate)

engine

Adapton's core calculus, implemented as a runtime library. We implement two versions of this interface, which we refer to as engines: The naive engine and the DCG engine, implemented based on the algorithms from the Adapton papers.

macros

Macros to make using the engine module's interface more ergonomic.

Macros

cell

Convenience wrapper for engine::cell

cell_call

Convenience wrapper: Call a function and place the result into an engine::cell.

eager

Similar to memo!, except return both the thunk and its observed (forced) value.

get

Convenience wrapper for engine::force

memo

Convenience wrapper for engine::thunk and engine::force: creates a thunk and immediately forces it.

prog_pt

Generate a "program point", used as a unique ID for memoized functions.

thunk

Convenience wrapper for engine::thunk