Proceedings of the 12th ACM SIGPLAN International Symposium on Haskell 2019
DOI: 10.1145/3331545.3342589
|View full text |Cite
|
Sign up to set email alerts
|

Modular effects in Haskell through effect polymorphism and explicit dictionary applications: a new approach and the μVeriFast verifier as a case study

Abstract: In applications with a complex structure of side effects, effects should be dealt with modularly: components should be programmed against abstract effect interfaces that other components can instantiate as required, and reusable effect patterns should be factored out from the rest of the application. In this paper, we study a new, general approach to achieve this in Haskell by combining effect polymorphism and the recently proposed coherent explicit dictionary applications. We demonstrate the elegance and gene… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1

Citation Types

0
1
0

Year Published

2019
2019
2023
2023

Publication Types

Select...
3

Relationship

0
3

Authors

Journals

citations
Cited by 3 publications
(1 citation statement)
references
References 27 publications
0
1
0
Order By: Relevance
“…To manage multiple occurrences of the same monad on the stack, Snyder and Alexander [2010] introduced a technique based on global names implemented with phantom types, while Schrijvers and Oliveira [2011] introduced monad views that allow functionality similar to effect subtyping. Recently, Devriese [2019] proposed a technique of managing effects in Haskell based on effect polymorphism and explicit type-class dictionary applications to distinguished between instances of effects. We leave a more detailed comparison with this approach as future work.…”
Section: Related Work 81 Managing Effects In Different Settingsmentioning
confidence: 99%
“…To manage multiple occurrences of the same monad on the stack, Snyder and Alexander [2010] introduced a technique based on global names implemented with phantom types, while Schrijvers and Oliveira [2011] introduced monad views that allow functionality similar to effect subtyping. Recently, Devriese [2019] proposed a technique of managing effects in Haskell based on effect polymorphism and explicit type-class dictionary applications to distinguished between instances of effects. We leave a more detailed comparison with this approach as future work.…”
Section: Related Work 81 Managing Effects In Different Settingsmentioning
confidence: 99%