Font Size: a A A

Value recursion in monadic computations

Posted on:2003-01-20Degree:Ph.DType:Thesis
University:OGI School of Science & EngineeringCandidate:Erkok, LeventFull Text:PDF
GTID:2468390011479141Subject:Computer Science
Abstract/Summary:
This thesis addresses the interaction between recursive declarations and computational effects modeled by monads. More specifically, we present a framework for modeling cyclic definitions resulting from the values of monadic actions. We introduce the term value recursion to capture this kind of recursion.; Our model of value recursion relies on the existence of particular fixed-point operators for individual monads, whose behavior is axiomatized via a number of equational properties. These properties regulate the interaction between monadic effects and recursive computations, giving rise to a characterization of the required recursion operation. We present a collection of such operators for monads that are frequently used in functional programming, including those that model exceptions, non-determinism, input-output, and stateful computations.; In the context of the programming language Haskell, practical applications of value recursion give rise to the need for a new language construct, providing support for recursive monadic bindings. We discuss the design and implementation of an extension to Haskell's do-notation which allows variables to be bound recursively, eliminating the need for programming with explicit fixed-point operators.
Keywords/Search Tags:Value recursion, Monadic, Recursive
Related items