patch applied (ghc): Teach :print to follow references (STRefs and IORefs)

Simon Marlow simonmarhaskell at gmail.com
Wed Dec 5 07:55:28 EST 2007


Pepe Iborra wrote:
> Tue Dec  4 02:55:11 PST 2007  Pepe Iborra <mnislaih at gmail.com>
>   * Teach :print to follow references (STRefs and IORefs)
>   
>   Prelude Data.IORef> :p l
>   l = (_t4::Maybe Integer) : (_t5::[Maybe Integer])
>   Prelude Data.IORef> p <- newIORef l
>   Prelude Data.IORef> :p p
>   p = GHC.IOBase.IORef (GHC.STRef.STRef {((_t6::Maybe Integer) :
>                                           (_t7::[Maybe Integer]))})
>   Prelude Data.IORef> :sp p
>   p = GHC.IOBase.IORef (GHC.STRef.STRef {(_ : _)})
>   
>   
>   I used braces to denote the contents of a reference.
>   Perhaps there is a more appropriate notation?

Why not just

   GHC.Prim.MutVar# <value>

that seems to be the most obvious, if perhaps not the tidyest, way to 
present it.  Do we really need a special syntax and to hide the real 
primitive object here?

Cheers,
	Simon



More information about the Cvs-ghc mailing list