Stratified monads

I was interested to read David Espinosa's "Stratified Monads" paper at http://www-swiss.ai.mit.edu/~dae/papers/sm.ps.Z I'm not sure I actually understand them properly yet, but I'm already curious about if anybody's played with them in Haskell, or how useful it would be to do so. Any comments? -- Mark

As far as I know, the "stratified monads" are recognized as "monad transformers" in Haskell. The predominant library is the Monad Transformer Library (or mtl) coded by Andy Gill, see [1]. One of my favorite examples of the usefulness of monad transformers is for building domains for denotational semantics: see [2]. I'm sure other people can sugget many other favorite uses. I hope I haven't misinterpreted "stratified monads"... Nick [1] - http://www.haskell.org/ghc/docs/latest/html/libraries [2] - http://citeseer.ist.psu.edu/liang95monad.html On 12/11/06, Mark T.B. Carroll wrote:
I was interested to read David Espinosa's "Stratified Monads" paper at http://www-swiss.ai.mit.edu/~dae/papers/sm.ps.Z
I'm not sure I actually understand them properly yet, but I'm already curious about if anybody's played with them in Haskell, or how useful it would be to do so. Any comments?
-- Mark
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

On 12/11/06, Mark T.B. Carroll wrote:
I'm not sure I actually understand them properly yet, but I'm already curious about if anybody's played with them in Haskell, or how useful it would be to do so. Any comments?
Haskell implementations of the transformers in Espinosa's paper are discussed in Mark Jones's 1995 paper Functional Programming with Overloading and Higher-Order Polymorphism, and are available with the mtl package that is (I believe) usable with all the major Haskell compilers and distributed with at least ghc and hugs. (I've never used yhc or jhc, so I don't know what libraries they distribute.) I'm personally fond of framing most non-trivial Haskell problems as defining domain specific languages; as a result, everything over about 200 lines that I've written in the past 3 years has used the mtl in some form or fashion. It's great. /g -- It is myself I have never met, whose face is pasted on the underside of my mind.

Hello J., Monday, December 11, 2006, 10:20:17 PM, you wrote:
Haskell implementations of the transformers in Espinosa's paper are discussed in Mark Jones's 1995 paper Functional Programming with Overloading and Higher-Order Polymorphism, and are available with the mtl package that is (I believe) usable with all the major Haskell compilers and distributed with at least ghc and hugs. (I've never used yhc or jhc, so I don't know what libraries they distribute.)
afair, mtl uses multi-parameter type classes which is supportred only by ghc/hugs at now -- Best regards, Bulat mailto:Bulat.Ziganshin@gmail.com
participants (4)
-
Bulat Ziganshin
-
J. Garrett Morris
-
mark@ixod.org
-
Nicolas Frisby