Polymonad programming in Haskell

Bracker, Jan and Nilsson, Henrik (2016) Polymonad programming in Haskell. In: 27th 2015 International Symposium on Implementation and Application of Functional Languages - IFL 2015, 14-16 Sep 2015, Koblenz, Germany.

[img]
Preview
PDF - Requires a PDF viewer such as GSview, Xpdf or Adobe Acrobat Reader
Download (261kB) | Preview

Abstract

Polymonads were recently introduced by Hicks et al. as a unified approach to programming with different notions of monads. Their work was mainly focussed on foundational aspects of the approach. In this article, we show how to incorporate the notion of polymonads into Haskell, which is the first time this has been done in a full-scale language. In particular, we show how polymonads can be represented in Haskell, give a justification of the representation through proofs in Agda, and provide a plugin for the Glasgow Haskell Compiler (GHC) that enables their use in practice. Finally, we demonstrate the utility of our system by means of examples concerned with session types and the parameterized effect monad. This work provides a common representation of a number of existing approaches to generalized monads in Haskell.

Item Type: Conference or Workshop Item (Paper)
Additional Information: Published in: IFL '15 Proceedings of the 27th Symposium on the Implementation and Application of Functional Programming Languages ACM New York, NY, USA ©2015 978-1-4503-4273-5
Keywords: Glasgow Haskell Compiler; Haskell; Monad; Polymonad; Syntactic support; Type checker plugin
Schools/Departments: University of Nottingham UK Campus > Faculty of Science > School of Computer Science
Related URLs:
URLURL Type
http://www.cs.nott.ac.uk/~psznhnAuthor
http://www.cs.nott.ac.uk/~pszjb5Author
Depositing User: Nilsson, Henrik
Date Deposited: 19 Apr 2016 07:55
Last Modified: 17 Sep 2016 03:39
URI: http://eprints.nottingham.ac.uk/id/eprint/32826

Actions (Archive Staff Only)

Edit View Edit View