Proceedings of the 27th Symposium on the Implementation and Application of Functional Programming Languages 2015
DOI: 10.1145/2897336.2897340
|View full text |Cite
|
Sign up to set email alerts
|

Polymonad programming in Haskell

Abstract: Polymonads were recently introduced by Hicks et al. as a unified approach to programming with different notions of monads. Their work was mainly focused 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 Glas… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
6
0

Year Published

2016
2016
2023
2023

Publication Types

Select...
3
1
1

Relationship

1
4

Authors

Journals

citations
Cited by 5 publications
(6 citation statements)
references
References 40 publications
(48 reference statements)
0
6
0
Order By: Relevance
“…Their use and, especially, the possibility of combining different kinds of effects irrespective of their stacking order might ease the specification of mechanisms for fault tolerance at different architectural levels. We have explored the use of effect monads or graded monads , polymonads [Bracker and Nilsson 2015], and supermonads [Bracker and Nilsson 2016]. We have not explored the use of unconstrained indexed monads [Katsumata 2014; .…”
Section: Ivan Perezmentioning
confidence: 99%
“…Their use and, especially, the possibility of combining different kinds of effects irrespective of their stacking order might ease the specification of mechanisms for fault tolerance at different architectural levels. We have explored the use of effect monads or graded monads , polymonads [Bracker and Nilsson 2015], and supermonads [Bracker and Nilsson 2016]. We have not explored the use of unconstrained indexed monads [Katsumata 2014; .…”
Section: Ivan Perezmentioning
confidence: 99%
“…A solution to this problem can be found in the work by Kmett [23,24] and the work on polymonads [9,16]. Both introduce a type class similar to the following: This way, when defining an instance, m, n and p can be partially applied versions of the type constructor in the instance head.…”
Section: Supermonadsmentioning
confidence: 99%
“…Type checker plugins have been used to implement type system extensions such as type level natural numbers [12] and units of measure [14]. We have previously used a plugin to integrate polymonads into Haskell [9]. We will content ourselves with a brief explanation here, referring the reader to the earlier work and the GHC documentation for details.…”
Section: Ghc Type Checker Pluginsmentioning
confidence: 99%
See 2 more Smart Citations