MetaCart Sign in to MyCiteSeerX

Include Citations | Advanced Search | Help

Disambiguated Search | Include Citations | Advanced Search | Help

A Recursive do for Haskell (2002) [8 citations — 1 self]

by Levent Erkök ,  John Launchbury
Add To MetaCart

Abstract:

Certain programs making use of monads need to perform recursion over the values of monadic actions. Although the do-notation of Haskell provides a convenient framework for monadic programming, it lacks the generality to support such recursive bindings. In this paper, we describe an enhanced translation schema for the donotation and its integration into Haskell. The new translation allows variables to be bound recursively, provided the underlying monad comes equipped with an appropriate fixed-point operator.

Citations

82 Simple imperative polymorphism – Wright - 1995
66 Using circular programs to eliminate multiple traversals of data – Bird - 1984
48 Typing Haskell in Haskell – Jones - 1999
37 First-class polymorphism with type inference – Jones - 1997
35 Recursive monad bindings – Erkok, Launchbury
35 Report on the Programming Language Haskell 98, a Non-strict, Purely Functional Language. Available from http://www.haskell.org – Jones, Hughes - 1999
30 On embedding a microarchitectural design language within Haskell – LAUNCHBURY, LEWIS, et al.
26 A new notation for arrows – Paterson - 2001
25 Microprocessor specification in Hawk – Matthews, Launchbury, et al. - 1998
21 Reactive Objects and Functional Programming – Nordlander - 1999
14 Embedded Languages for Describing and Verifying Hardware – Claessen - 2001
6 Value Recursion in Monadic Computations – ERKÖK - 2002
5 Semantics of fixIO – Erkök, Launchbury, et al. - 2001
4 Traced premonoidal categories (Extended Abstract – BENTON, HYLAND - 2002
3 An exercise in polytypic program derivation: repmin. Unpublished manuscript. URL: web.comlab.ox. ac.uk/oucl/work/oege.demoor/pubs.htm – MOOR - 1996
3 A recursive do for Haskell: Design and implementation – ERKÖK, LAUNCHBURY - 2000
2 Global variables in Haskell. Draft paper. URL: www.cs.chalmers.se/~rjmh/Globals.ps – HUGHES
2 Users Gofer System) web page. URL: www. haskell.org/hugs – Hugs