Version 3 (modified by nhn@…, 8 years ago) (diff)


Arrow Notation

See ExtensionDescriptionHowto for information on how to write these extension descriptions. Please add any new extensions to the list of HaskellExtensions.

Brief Explanation

Convenient notation for writing programs using arrows.

As this is an extension of the 'do'-notation, and as it has its own way of dealing with recursive definitions, this is related to RecursiveDo. On the one hand, it might be that the arrow rec notation might be suitabe for monadic recursive do as well, instead of mdo. Arguably, rec is a bit more suggestive. On the other hand, if it is decided that the monadic do should be implicitly recursive, then it would make sense to try to do the same for the arrow do. And if that is not possible, that could be considered an argument against making the monadic do implicitly recursive.



  • makes arrows programs manageable


  • fairly large extension
  • few users


  • can be implemented in a preprocessor