Commit d3bbee1c by Ross Paterson

add refs and fix a bug (noted by Peter Gammie) in docs of arrow notation

parent 2df88d37
 ... ... @@ -5316,6 +5316,8 @@ For more details, see “Generalising Monads to Arrows”, John Hughes, in Science of Computer Programming 37, pp67–111, May 2000. The paper that introduced arrows: a friendly introduction, motivated with programming examples. ... ... @@ -5323,6 +5325,7 @@ pp67–111, May 2000. A New Notation for Arrows”, Ross Paterson, in ICFP, Sep 2001. Introduced the notation described here. ... ... @@ -5334,17 +5337,42 @@ Palgrave, 2003. and the arrows web page at Programming with Arrows”, John Hughes, in 5th International Summer School on Advanced Functional Programming, Lecture Notes in Computer Science vol. 3622, Springer, 2004. This paper includes another introduction to the notation, with practical examples. Type and Translation Rules for Arrow Notation in GHC”, Ross Paterson and Simon Peyton Jones, September 16, 2004. A terse enumeration of the formal rules used (extracted from comments in the source code). The arrows web page at http://www.haskell.org/arrows/. With the flag, GHC supports the arrow notation described in the second of these papers. What follows is a brief introduction to the notation; it won't make much sense unless you've read Hughes's paper. This notation is translated to ordinary Haskell, using combinators from the notation described in the second of these papers, translating it using combinators from the Control.Arrow module. What follows is a brief introduction to the notation; it won't make much sense unless you've read Hughes's paper. The extension adds a new kind of expression for defining arrows: ... ... @@ -5618,7 +5646,8 @@ We could define our own operator untilA :: ArrowChoice a => a e () -> a e Bool -> a e () untilA body cond = proc x -> if cond x then returnA -< () b <- cond -< x if b then returnA -< () else do body -< x untilA body cond -< x ... ...
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment