Jan Bracker
Supermonads: One notion to bind them all
Bracker, Jan; Nilsson, Henrik
Authors
Henrik Nilsson
Abstract
Several popular generalizations of monads have been implemented in Haskell. Unfortunately, because the shape of the associated type constructors do not match the standard Haskell monad interface, each such implementation provides its own type class and versions of associated library functions. Furthermore, simultaneous use of different monadic notions can be cumbersome as it in general is necessary to be explicit about which notion is used where. In this paper we introduce supermonads: an encoding of monadic notions that captures several different generalizations along with a version of the standard library of monadic functions that work uniformly with all of them. As standard Haskell type inference does not work for supermonads due to their generality, our supermonad implementation is accompanied with a language extension, in the form of a plugin for the Glasgow Haskell Compiler (GHC), that allows type inference for supermonads, obviating the need for manual annotations.
Citation
Bracker, J., & Nilsson, H. (2016, September). Supermonads: One notion to bind them all. Presented at 9th International Symposium on Haskell (Haskell '16), Nara, Japan
Presentation Conference Type | Edited Proceedings |
---|---|
Conference Name | 9th International Symposium on Haskell (Haskell '16) |
Start Date | Sep 22, 2016 |
End Date | Sep 23, 2016 |
Acceptance Date | Jul 12, 2016 |
Publication Date | Sep 8, 2016 |
Deposit Date | Sep 1, 2016 |
Publicly Available Date | Sep 8, 2016 |
Peer Reviewed | Peer Reviewed |
Pages | 158-169 |
Book Title | Haskell 2016: Proceedings of the 9th International Symposium on Haskell |
ISBN | 9781450344340 |
DOI | https://doi.org/10.1145/2976002.2976012 |
Keywords | Functional programming, Glasgow Haskell Compiler, Haskell, Monads, Syntactic support, Type checker plugin |
Public URL | https://nottingham-repository.worktribe.com/output/809586 |
Publisher URL | http://dl.acm.org/citation.cfm?doid=2976002.2976012 |
Contract Date | Sep 1, 2016 |
Files
paper.pdf
(349 Kb)
PDF
Downloadable Citations
About Repository@Nottingham
Administrator e-mail: discovery-access-systems@nottingham.ac.uk
This application uses the following open-source libraries:
SheetJS Community Edition
Apache License Version 2.0 (http://www.apache.org/licenses/)
PDF.js
Apache License Version 2.0 (http://www.apache.org/licenses/)
Font Awesome
SIL OFL 1.1 (http://scripts.sil.org/OFL)
MIT License (http://opensource.org/licenses/mit-license.html)
CC BY 3.0 ( http://creativecommons.org/licenses/by/3.0/)
Powered by Worktribe © 2024
Advanced Search