[Haskell-cafe] Execution Contexts

Ian.Stark at ed.ac.uk Ian.Stark at ed.ac.uk
Sun Nov 28 07:46:21 EST 2004


Ben,

On Sat, 27 Nov 2004, Benjamin Franksen wrote (apropos ACIO topdecls):
> ... a highly controversial new language feature.

The language feature is easily done, and just what has been happening all
along:

  type ACIO = IO

  declare :: ACIO a -> a

  {-# NOINLINE declare #-}
  declare e = unsafePerformIO e

All 'affine central' does is give a label to one particular idiomatic use
of IO.  The controversial part would be wading through libraries arguing
over what things were ACIO.

OK, I admit it would be nice if the compiler would manage everything, use
<- syntax, and take advantage of affine central actions being
well-behaved.  But not vital.

Ian


More information about the Haskell-Cafe mailing list