Module fungi_lang::reduce [] [src]

Reduction semantics.

This module gives the incremental semantics of Fungi programs as a "small-step" reduction function, reduce.

To do so, it uses an external library (Adapton in Rust) to create and maintain the "demanded computation graph" (the DCG), that underpins change propagation.

See also: eval.

Structs

Config

Configuration for reduction: A stack, environment and expression.

Frame

Stack frame

Enums

Cont

Local continuations

Error

Dynamic type errors ("stuck cases" for reduction)

Functions

reduce

Perform small steps of reduction until irreducible.

step

Perform a single small-step reduction.