## FUNDIO: A Lambda-Calculus with a letrec, case, Constructors, and an IO-Interface: Approaching a Theory of unsafePerformIO. Frank report 16, Institut für

Venue: | Informatik, J.W. GoetheUniversität Frankfurt, September 2003. SSSS04. Manfred Schmidt-Schauß, Marko Schütz, and |

Citations: | 7 - 0 self |

### BibTeX

@INPROCEEDINGS{Schmidt-schauß_fundio:a,

author = {Manfred Schmidt-schauß and Michael Huber and Fachbereich Informatik},

title = {FUNDIO: A Lambda-Calculus with a letrec, case, Constructors, and an IO-Interface: Approaching a Theory of unsafePerformIO. Frank report 16, Institut für},

booktitle = {Informatik, J.W. GoetheUniversität Frankfurt, September 2003. SSSS04. Manfred Schmidt-Schauß, Marko Schütz, and},

year = {}

}

### Years of Citing Articles

### OpenURL

### Abstract

Abstract. A non-deterministic call-by-need lambda-calculus λndlr with case, constructors, letrec and a (non-deterministic) erratic choice, based on rewriting rules is investigated. A standard reduction is defined as a variant of left-most outermost reduction. The semantics is defined by contextual equivalence of expressions instead of using αβ(η)-equivalence. It is shown that several program transformations are correct, for example all (deterministic) rules of the calculus, and in addition the rules for garbage collection, removing indirections and unique copy. This shows that the combination of a context lemma and a metarewriting on reductions using complete sets of commuting (forking, resp.) diagrams is a useful and successful method for providing a semantics of a functional programming language and proving correctness of program transformations. 1