skip to main content
10.1145/2633628.2633636acmconferencesArticle/Chapter ViewAbstractPublication PagesicfpConference Proceedingsconference-collections
research-article

Algebraic effects and effect handlers for idioms and arrows

Published:26 August 2014Publication History

ABSTRACT

Plotkin and Power's algebraic effects combined with Plotkin and Pretnar's effect handlers provide a foundation for modular programming with effects. We present a generalisation of algebraic effects and effect handlers to support other kinds of effectful computations corresponding to McBride and Paterson's idioms and Hughes' arrows.

References

  1. A. Bauer and M. Pretnar. Programming with algebraic effects and handlers. CoRR, abs/1203.1539, 2012.Google ScholarGoogle Scholar
  2. A. Bauer and M. Pretnar. An effect system for algebraic effects and handlers. In CALCO, volume 8089 of Lecture Notes in Computer Science, pages 1--16. Springer, 2013.Google ScholarGoogle Scholar
  3. E. Brady. Programming and reasoning with algebraic effects and dependent types. In ICFP. ACM, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. P. Capriotti and A. Kaposi. Free applicative functors. CoRR, abs/1403.0749, 2014.Google ScholarGoogle Scholar
  5. E. Cooper, S. Lindley, P. Wadler, and J. Yallop. The essence of form abstraction. In G. Ramalingam, editor, APLAS, volume 5356 of Lecture Notes in Computer Science, pages 205--220. Springer, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. B. C. d. S. Oliveira, T. Schrijvers, and W. R. Cook. MRI: Modular reasoning about interference in incremental programming. J. Funct. Program., 22 (6): 797--852, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. J. Hughes. Generalising monads to arrows. Sci. Comput. Program., 37 (1--3): 67--111, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. O. Kammar, S. Lindley, and N. Oury. Handlers in action. In G. Morrisett and T. Uustalu, editors, ICFP, pages 145--158. ACM, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. O. Kiselyov, A. Sabry, and C. Swords. Extensible effects: an alternative to monad transformers. In Haskell, pages 59--70. ACM, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. P. B. Levy. Call-By-Push-Value: A Functional/Imperative Synthesis, volume 2 of Semantics Structures in Computation. Springer, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. S. Lindley. Free idioms and free arrows in haskell, 2013. https://github.com/slindley/dependent-haskell/tree/master/Free.Google ScholarGoogle Scholar
  12. S. Lindley. Aspect oriented programming with handlers, 2013. https://github.com/slindley/effect-handlers/blob/master/Examples/AOP.hs.Google ScholarGoogle Scholar
  13. S. Lindley, P. Wadler, and J. Yallop. The arrow calculus. J. Funct. Program., 20 (1): 51--69, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. S. Lindley, P. Wadler, and J. Yallop. Idioms are oblivious, arrows are meticulous, monads are promiscuous. Electr. Notes Theor. Comput. Sci., 229 (5): 97--117, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. C. McBride. How might effectful programs look? In Workshop on Effects and Type Theory, 2007. http://cs.ioc.ee/efftt/mcbride-slides.pdf.Google ScholarGoogle Scholar
  16. C. McBride. Frank (0.3), 2012. http://hackage.haskell.org/package/Frank.Google ScholarGoogle Scholar
  17. C. McBride and R. Paterson. Applicative programming with effects. J. Funct. Program., 18 (1): 1--13, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. E. Moggi. Computational lambda-calculus and monads. In LICS, pages 14--23. IEEE Computer Society, 1989. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. R. Paterson. A new notation for arrows. In B. C. Pierce, editor, ICFP, pages 229--240. ACM, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. T. Petricek and D. Syme. The F# computation expression zoo. In M. Flatt and H.-F. Guo, editors, PADL, volume 8324 of Lecture Notes in Computer Science, pages 33--48. Springer, 2014.Google ScholarGoogle Scholar
  21. G. D. Plotkin and J. Power. Adequacy for algebraic effects. In F. Honsell and M. Miculan, editors, FoSSaCS, volume 2030 of Lecture Notes in Computer Science, pages 1--24. Springer, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. G. D. Plotkin and J. Power. Semantics for algebraic operations. Electr. Notes Theor. Comput. Sci., 45: 332--345, 2001.Google ScholarGoogle ScholarCross RefCross Ref
  23. G. D. Plotkin and M. Pretnar. Handling algebraic effects. Logical Methods in Computer Science, 9 (4), 2013.Google ScholarGoogle Scholar
  24. S. D. Swierstra. Combinator parsing: A short tutorial. In LerNet ALFA Summer School, volume 5520 of Lecture Notes in Computer Science, pages 252--300. Springer, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. W. Swierstra. Data types à la carte. J. Funct. Program., 18 (4): 423--436, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. J. Yallop. Abstraction for web programming. PhD thesis, The University of Edinburgh, 2010.Google ScholarGoogle Scholar

Index Terms

  1. Algebraic effects and effect handlers for idioms and arrows

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in
      • Published in

        cover image ACM Conferences
        WGP '14: Proceedings of the 10th ACM SIGPLAN workshop on Generic programming
        August 2014
        102 pages
        ISBN:9781450330428
        DOI:10.1145/2633628
        • Program Chairs:
        • José Pedro Magalhäes,
        • Tiark Rompf

        Copyright © 2014 ACM

        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 26 August 2014

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article

        Acceptance Rates

        WGP '14 Paper Acceptance Rate8of9submissions,89%Overall Acceptance Rate30of43submissions,70%

        Upcoming Conference

        ICFP '24

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader