BiGUL-1.0.1: The Bidirectional Generic Update Language

Safe HaskellNone
LanguageHaskell2010

Generics.BiGUL.Interpreter

Description

The standard interpreters, which perform all dynamic checks to ensure well-behavedness and produce trace information when execution fails. Currently, tracing is designed for debugging, and only the traces leading to failure can be expected to contain a complete log of the steps executed. In other words, traces leading to success usually contain only partial tracing information. Also, when a program loops, there is no guarantee that the trace is computed productively. Finally, note that branch numbering starts from 0.

Synopsis

Documentation

put :: BiGUL s v -> s -> v -> Maybe s Source #

The putback semantics of a BiGUL program.

putTrace :: BiGUL s v -> s -> v -> BiGULTrace Source #

The execution trace of a put computation.

get :: BiGUL s v -> s -> Maybe v Source #

The get semantics of a BiGUL program.

getTrace :: BiGUL s v -> s -> BiGULTrace Source #

The execution trace of a get computation.