Formalization of normalization by evaluation for the fine-grain call-by-value language extended with algebraic effect theories
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
AlgebraicSignaturesVersion
OlderCode
ParametersEquationsPERsVersion
StateNormalizationVersion
README.md

README.md

Normalization-By-Evaluation

Formalization of normalization by evaluation for a fine-grained call-by-value language extended with algebraic effects.

AlgebraicSignaturesVersion

  - The normalization by evaluation algorithm and its correctness proofs for a language extended with simple algebraic signatures (no equations, no parameters)

ParametersEquationsPERsVersion

  - The version of normalization by evaluation and its correctness proofs for a language extended with parametrized algebraic signatures and equations. Normalization finds normal forms up-to PERs.

StateNormalizationVersion

  - Work in progress implementation of normalization by evaluation for a language extended with algebraic operations for global state. Normalization uses a sum of two monads defined as a fixpoint of strictly positive functors and finds canonical normal forms (the state theory gets normalized).

OlderCode

  - Older code mostly from the MPhil dissertation time

NOTICE: The code has been tested on Agda version 2.3.1. Newer versions of Agda might cause Monad.agda throw strange pattern-matching errors.