Proceedings of the 26th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages 1999
DOI: 10.1145/292540.292557
|View full text |Cite
|
Sign up to set email alerts
|

Representing layered monads

Abstract: There has already been considerable research on constructing modular, monad-based specifications of computational effects (state, exceptions, nondeterminism, etc.) in programming languages. We present a simple framework in this tradition, based on a Church-style effect-typing system for an ML-like language.The semantics of this language is formally defined by a series of monadic translations, each one expanding away a layer of effects. Such a layered specification is easy to reason about, but its direct imple… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
91
0

Year Published

2000
2000
2014
2014

Publication Types

Select...
8
1

Relationship

0
9

Authors

Journals

citations
Cited by 116 publications
(91 citation statements)
references
References 23 publications
0
91
0
Order By: Relevance
“…There are multiple ways of composing or layering monads [11,13,3]. Monad transformers are perhaps the most widely known technique.…”
Section: Monad Transformersmentioning
confidence: 99%
See 1 more Smart Citation
“…There are multiple ways of composing or layering monads [11,13,3]. Monad transformers are perhaps the most widely known technique.…”
Section: Monad Transformersmentioning
confidence: 99%
“…Aside from monads, other ways of encoding effectful computations include effect handlers [18] and continuations [3]. Providing syntactic support for these encodings may provide an interesting alternative to our encoding using computation builder.…”
Section: Related Workmentioning
confidence: 99%
“…Layered Monads Filinski introduced the semantic technique of layered monads [5]. A layering of a monad M , map , unit , join over another monad M, map, unit, join is a natural transformation layer : M • M → M satisfying certain equational properties.…”
Section: Coercementioning
confidence: 99%
“…Filinski is one of the pioneers in logical relations for monads [4], and developed various techniques to establish relationships between semantics of higher-order languages with effects [3][4][5][6][7]. In [7,Proposition 3.7] three methods to construct logical relations for monads are mentioned: 1) When T is a monad constructed from the standard type constructors, such as state monad and continuation monad, then define a logical relationṪ for T in the same way as T is constructed.…”
Section: Related Workmentioning
confidence: 99%