Research papers/Monads and arrows
From HaskellWiki
< Research papers(Difference between revisions)
(→Arrows in Haskell: updating broken link to Generalizing Monads to Arrows with top google hit) 

(One intermediate revision by one user not shown) 
Revision as of 03:21, 18 October 2011
Contents 
1 Monads
See also Monad and Arrow HaskellWiki pages.
 State in Haskell
 SL Peyton Jones and J Launchbury, Lisp and Symbolic Computation 8(4), Dec 1995, pp293341. (Cited by 109)
 Lazy functional state threads
 SL Peyton Jones and J Launchbury, SIGPLAN Symposium on Programming Language Design and Implementation (PLDI'94), Orlando, June 1994, pp2435. (Cited by 127))
 Imperative functional programming
 SL Peyton Jones and PL Wadler, 20th ACM Symposium on Principles of Programming Languages (POPL'93), Charleston, Jan 1993, pp7184. (Cited by 289)
 Prological features in a functional setting  axioms and implementations
 Ralf Hinze. In Masahiko Sato, Yoshihito Toyama, editors, Third Fuji International Symposium on Functional and Logic Programming (FLOPS'98), Kyoto University, Japan, April 1998, pp. 98122. World Scientific, Singapore, New Jersey, London, Hong Kong. (Cited by 9)
 Composing Monads
 Mark P. Jones and Luc Duponcheel Research Report YALEU/DCS/RR1004, Yale University, New Haven, Connecticut, USA, December 1993. (Cited by 66))
 The marriage of effects and monads
 Philip Wadler and Peter Thiemann. Submitted to ACM Transactions on Computational Logic. (Cited by 62)
 How to declare an imperative
 Philip Wadler. ACM Computing Surveys, 29(3):240263, September 1997. A shorter version was an invited paper at ILPS 95, appearing in John Lloyd, editor, International Logic Programming Symposium, MIT Press, December 1995. (Cited by 92)
 Monads and composable continuations
 Philip Wadler. Lisp and Symbolic Computation, Special issue on continuations, 7(1):3956, January 1994. (Cited by 34)
 Monads for functional programming
 Philip Wadler. In M. Broy, editor, Marktoberdorf Summer School on Program Design Calculi, Springer Verlag, NATO ASI Series F: Computer and systems sciences, Volume 118, August 1992. Also in J. Jeuring and E. Meijer, editors, Advanced Functional Programming, Springer Verlag, LNCS 925, 1995. (Cited by 237)
 Combining monads
 David King and Philip Wadler. Glasgow Workshop on Functional Programming, Springer Verlag Workshops in Computing Series, Ayr, July 1992. (Cited by 42)
 The essence of functional programming
 Philip Wadler. Invited talk, 19'th Symposium on Principles of Programming Languages, ACM Press, Albuquerque, January 1992. (Cited by 407)
 How to prove monad laws
 Oleg Kiselyov, v1.1, Sep 2, 2003, Originally posted as "Re: proving the monad laws" on the Haskell mailing list
 Monadification of Functional Programs
 Martin Erwig and Deling Ren. Science of Computer Programming, Vol. 52, No. 13, 101129, 2004
 The Categorical Imperative  Or: How to Hide Your State Monads
 Martin Erwig. 10th Int. Workshop on Implementation of Functional Languages (IFL'98), 125, 1998
 Monads for Incremental Computing
 Magnus Carlsson, ICFP 2002, 2002.
 Monads for Incremental Computing
 Magnus Carlsson, ICFP'02.
1.1 Monad comprehensions
 Comprehending monads
 Philip Wadler. Mathematical Structures in Computer Science, Special issue of selected papers from 6'th Conference on Lisp and Functional Programming, 2:461493, 1992. (Cited by 469)
1.2 Monad transformers
 Deriving Backtracking Monad Transformers
 Ralf Hinze. In Phil Wadler, editor, Proceedings of the 2000 International Conference on Functional Programming, Montreal, Canada, September 1820, 2000.
 Deriving monad transformers
 Ralf Hinze. Technical Report IAITR991, Institut fr Informatik III, Universitt Bonn, January 1999.
 Backtracking, Interleaving, and Terminating Monad Transformers
 Oleg Kiselyov, Chungchieh Shan, Daniel P. Friedman and Amr Sabry, Functional Pearl, to be presented at ICFP 2005.
 Modular Compilers Based on Monad Transformers
 Harrison, Kamin (1998)
 Semantic Lego
 Espinosa (1995)
1.3 Recursion
 Semantics of Value Recursion for Monadic Input/Output
 Levent Erkök, John Launchbury and Andrew Moran. Journal of Theoretical Informatics and Applications. 36. 2. 2002.
 A Recursive do for Haskell
 Levent Erkök and John Launchbury. Proceedings of the 2002 ACM SIGPLAN workshop on Haskell. Pittsburgh, Pennsylvania. 29  37 2002 ISBN 1581136056
 Value recursion in monadic computations
 Levent Erkök. PhD. Thesis. OGI School of Science and Engineering. October 2002.
 Semantics of fixIO
 Levent Erkök, John Launchbury and Andrew Moran. Workshop on Fixed Points in Computer Science (FICS'01). 2001.
 Recursive Monadic Bindings
 Levent Erkok and John Launchbury. Proceedings of the International Conference on Functional Programming ICFP'00. 2000.
1.4 Applications of monads
 Global Variables in Haskell
 John Hughes. 2004. JFP.
 Monadicstyle backtracking
 Ralf Hinze. Technical Report IAITR969, Institut fr Informatik III, Universitt Bonn, October 1996.
 A Poor Man's Concurrency Monad
 Koen Claessen, Journal of Functional Programming. 9(3). 313323. 1999.
 Building Interpreters by Composing Monads
 Guy L. Steele, Jr.. Principles of Programming Languages (POPL'94). January 1994. (Cited by 67)
 Monad Transformers and Modular Interpreters
 Sheng Liang, Paul Hudak, and Mark P. Jones, In Conference Record of POPL'95: 22nd ACM SIGPLANSIGACT Symposium on Principles of Programming Languages, San Francisco, CA, January 1995 (110 citations)
 Monadic Regions
 Fluet and Morrisett; To appear in the Journal of Functional Programming. "Regionbased type systems provide programmer control over memory management without sacrificing typesafety... we show that plain old parametric polymorphism, as found in Haskell, is all that is needed."
 XLinq: XML Programming Refactored (The Return Of The Monoids)
 Erik Meijer and Brian Beckman
 Monadic Shell
 Oleg Kiselyov
 Coalgebraic Monads
 Ghani, Lth, De Marchi (2002)
 Monad Translating Inductive and Coinductive Types
 Uustalu (2003)
 Merging Monads and Folds for Functional Programming
 Meijer, Jeuring (1995)
 Monadic Maps and Folds for Arbitrary Datatypes
 Fokkinga (1994)
 Modular Denotational Semantics for Compiler Construction
 Sheng Liang (1996)
 Monadic Parser Combinators
 Hutton, Meijer (1996)
 Building DomainSpecific Embedded Languages
 Paul Hudak (1996)
 Programming Reactive Systems in Haskell
 Finne, Jones (1994)
 Monads as a theoretical foundation for AOP
 De Meuter (1997)
 Monads for natural language semantics
 Chungchieh Shan (Harvard University). Journalref: Proceedings of the 2001 European Summer School in Logic, Language and Information student session, ed. Kristina Striegnitz, 285298
 A Monadic, Functional Implementation of Real Numbers
 Russell O'Connor, 2006. Mathematical Structures in Computer Science.
 A monadic framework for delimited continuations
 Kent Dybvig, Simon Peyton Jones, and Amr Sabry.
See also monads in other languages.
1.5 Comonads
 Codata and Comonads in Haskell
 Kieburtz  1999
 The Dual of Substitution is Redecoration
 Tarmo Uustalu, Varmo Vene. Trends in Functional Programming 3. (2002)
 Monads and Comonads
 Ghani et al.
 Recursion Schemes from Comonads
 Uustalu, Vene, Pardo (2001)
 Computational Comonads and Intensional Semantics
 Brookes, Geva, 1992
1.6 Monad theory
 Notions of computation and monads
 Eugenio Moggi. Information and Computation, 93(1):5592, July 1991 ( Cited by 649)
 Computational lambdacalculus and monads
 Eugenio Moggi. Logic in Computer Science, 1989. LICS '89, Proceedings., Fourth Annual Symposium on (1989), pp. 1423.
 Representing Layered Monads
 Andrzej Filinski. In Proceedings of the 26th ACM SIGPLANSIGACT Symposium on Principles of Programming Languages, pages 175188, San Antonio, Texas, USA, January 1999. ACM Press.
 Monads and Effects
 Nick Benton, John Hughes and Eugenio Moggi. APPSEM'00 Summer School, LNCS 2395, 2002
 Correctness of Monadic State: An Imperative CallbyNeed Calculus
 Ariola, Sabry (1998)
 Monadic Encapsulation of Effects: A Revised Approach (extended version)
 Journal of Functional Programming, 11(6), 2001.
 Towards a Mathematical Operational Semantics
 Turi, Plotkin (1997) (53 citations)
 Equivalence in Functional Languages with Effects
 Mason, Talcott (1991) (49 citations)
 Computational Types from a Logical Perspective
 Benton, Bierman (1995)
 A Modular Monadic Action Semantics
 Wansbrough (1997)
 Functor Categories and TwoLevel Languages
 Moggi (1998)
 A CategoryTheoretic Account of Program Modules
 Moggi (1994)
1.7 Reasoning about Monads
 Promotional Transformation of Monadic Programs
 Hu, Iwasaki (1995)
 Inductive Reasoning about Effectful Data Types
 Andrzej Filinski and Kristian Støvring. International Conference on Functional Programming (ICFP'07), Proceedings, ACM Press, 2007.
 Free Theorems Involving Type Constructor Classes
 Janis Voigtländer. International Conference on Functional Programming (ICFP'09), Proceedings, ACM Press, 2009.
2 Arrows
See also Arrow HaskellWiki page.
2.1 Arrows in Haskell
 Generalising Monads to Arrows,
 John Hughes, in Science of Computer Programming 37, pp67111, May 2000. (draft online)
 A New Notation for Arrows
 Ross Paterson. In ICFP 2001, Firenze, Italy, pp229240]
 Arrows and Computation
 Ross Paterson, in The Fun of Programming (Jeremy Gibbons and Oege de Moor, Eds.), pp201222, Palgrave, 2003.
2.2 Applications of arrows
 Genuinely Functional User Interfaces
 Anthony Courtney and Conal Elliott, in Haskell Workshop 2001, Firenze, Italy, pp4169.
 Arrows, Robots, and Functional Reactive Programming
 Paul Hudak, Henrik Nilsson, Anthony Courtney and Jon Peterson, in Advanced Functional Programming, 4th International School, (Johan Jeuring and Simon Peyton Jones eds.), Oxford, Springer LNCS 2638, 2003.
 Polytypic compact printing and parsing
 Patrik Jansson and Johan Jeuring, In Proceedings European Symposium on Programming, LNCS 1576, pp273287, Springer, 1999.
 Polytypic data conversion programs
 Patrik Jansson and Johan Jeuring, Science of Computer Programming 43(1), pp3575, 2002.
 Hyperfunctions
 Sava Krstic, John Launchbury and Dusko Pavlovic, Workshop on Fixed Points in Computer Science, Sep 2001.
 Functional Reactive Programming, Continued
 Henrik Nilsson, Antony Courtney, and John Peterson. Proceedings of the 2002 ACM SIGPLAN Haskell Workshop (Haskell'02), pages 51  64, Pittsburgh, Pennsylvania, USA, October 2002. ACM Press.
 There and back again: arrows for invertible programming
 Artem Alimarine, Sjaak Smetsers, Arjen van Weelden, Marko van Eekelen, Rinus Plasmeijer. Proceedings of the 2005 ACM SIGPLAN workshop on Haskell. Tallinn, Estonia, 86  97 2005 ISBN 159593071X
Free version of the above paper at http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.60.7278 or one of the other citeseer mirrors
 ProdArrows  Arrows for Fudgets
 Magnus Carlsson, 2001.
 Directing JavaScript with Arrows
 Jeffrey S. Foster et al, 2008 (submitted)
2.3 Arrow theory
 Categories for Computation in Context and Unified Logic
 Richard Blute, J.R.B. Cockett and R.A.G. Seely. In Journal of Pure and Applied Algebra 116:4998, 1997.
 Arrows, like Monads, are Monoids
 Chris Heunen and Bart Jacobs. In Electronic Notes in Theoretical Computer Science, Volume 158, 5 May 2006, Pages 219236.
 Premonoidal Categories and Notions of Computation
 John Power and Edmund Robinson. In Mathematical Structures in Computer Science 7(5):453468, 1997.
 Traced Premonoidal Categories
 Nick Benton and Martin Hyland. In Theoretical Informatics and Applications 37(4):273299, 2003.
 Environments, Continuation Semantics and Indexed Categories
 John Power and Hayo Thielecke. In Proc. Theoretical Aspects of Computer Science, LNCS 1281, pp 391414, 1997.
 Closed Freyd and kappacategories
 John Power and Hayo Thielecke. ICALP'99, LNCS 1644, Springer, 1999.