- Same authors
-
Related articles
- Recommend this article
- Download citation
- Alert me when this article is cited
- Alert me when this article is corrected
DOI: 10.1051/ita:2002008
Semantics of value recursion for Monadic Input/Output
Levent Erkök1, John Launchbury2, 1 and Andrew Moran21 OGI School of Science and Engineering, OHSU; erkok@cse.ogi.edu.
2 Galois Connections, Inc.
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
© EDP Sciences 2002
| What is OpenURL? |



Document
BibSonomy
CiteUlike
Connotea
Del.icio.us
Digg
Facebook