Semantics of value recursion for monadic input/output (2002)
| Venue: | Journal of Theoretical Informatics and Applications |
| Citations: | 7 - 1 self |
BibTeX
@ARTICLE{Erkök02semanticsof,
author = {Levent Erkök and John Launchbury and Andrew Moran},
title = {Semantics of value recursion for monadic input/output},
journal = {Journal of Theoretical Informatics and Applications},
year = {2002},
volume = {36},
pages = {200--2}
}
OpenURL
Abstract
Abstract. Monads have been employed in programming languages for modeling various language features, most importantly those that involve side effects. In particular, Haskell’s IO monad provides access to I/O operations and mutable variables, without compromising referential transparency. Cyclic definitions that involve monadic computations give rise to the concept of value-recursion, where the fixed-point computation takes place only over the values, without repeating or losing effects. In this paper, we describe a semantics for a lazy language based on Haskell, supporting monadic I/O, mutable variables, usual recursive definitions, and value recursion. Our semantics is composed of two layers: A natural semantics for the functional layer, and a labeled transition semantics for the IO layer. Mathematics Subject Classification. 68N18, 68Q55, 18C15.







