ComputingComputer ScienceProgramming LanguagesSyntaxTranslation TheoryAbstract Syntax TreesFunctional ProgrammingFunctional SyntaxRecursion TheorySyntax-directed TranslationType SystemsFixed-point ComputationFixed-point LogicFixed-point SemanticsFixpoint ComputationLambda Calculus SemanticsMonadic SemanticsMonadsTranslation Schemes
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.
10
Report on the programming language Haskell
Paul Hudak, Simon Peyton Jones, Philip Wadler et al. · ACM SIGPLAN Notices · 1992 · 1K citations · Full text
Ross Paterson · 2001 · 214 citations
Simple imperative polymorphism
Andrew K. Wright · LISP and Symbolic Computation · 1995 · 197 citations
Using circular programs to eliminate multiple traversals of data
Richard Bird · Acta Informatica · 1984 · 155 citations
Microprocessor specification in Hawk
John Matthews, B. Cook, John Launchbury · 2002 · 84 citations