funcons-tools-0.2.0.11: A modular interpreter for executing funcons
Safe HaskellNone
LanguageHaskell2010

Funcons.MetaProgramming

Description

This module implements HGMPification of funcons based on Berger et al. (2017) (First-order.)

Synopsis

Documentation

ctRel :: Funcons -> MSOS Funcons Source #

This function implements the ==CT=> relation. Compiling programs to executable funcons terms, removing occurrences of `meta-up`, `meta-down` and `meta-let` and `meta-bound`.

ulRel :: Funcons -> MSOS Funcons Source #

This function implements the ==UL=> relation. Translating a funcon into its meta-representation

dlRel :: Values -> Rewrite Funcons Source #

This function implements the ==DL=> relation. Translating a meta-representation of a program into the actual program

cmp_MSOSReader :: forall (m :: Type -> Type). Interactive m => Map Name EvalFunction -> Map Name DataTypeMembers -> Funcons -> MSOSReader m Source #

cmp_MSOSState :: forall (m :: Type -> Type). MSOSState m Source #