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

Reply via email to