Since you're looking at effect typing, you might be interested in the "Disciplined Disciple Compiler":
http://lambda-the-ultimate.org/node/2727 It's effectively a strict Haskell dialect with effect typing in place of monads. This is also relevant to your follow-up question regarding syntax. After a little squinting, I managed to sort of puzzle out how effect typings look like. They claim that the effect information is only needed when importing foreign functions, or when mixing laziness with mutation [1]. Sandro [1] http://www.haskell.org/haskellwiki/DDC/EffectSystem Jonathan S. Shapiro wrote: > My statement that effect variables can be eliminated in the types proves > to be wrong. Matt M at the lambda-the-ultimate wiki distilled a > counter-example: > > http://lambda-the-ultimate.org/node/2924#comment-43177 > > So this means that function types need to carry effect variables in at > least some cases. In principle, it also means that a complete typing of > an expression needs to have both an associated effect and a type, but I > think we can elide printing those most of the time. > > > shap > > _______________________________________________ > bitc-dev mailing list > [email protected] > http://www.coyotos.org/mailman/listinfo/bitc-dev _______________________________________________ bitc-dev mailing list [email protected] http://www.coyotos.org/mailman/listinfo/bitc-dev
