
7 May
2007
7 May
'07
5:22 p.m.
On Mon, 2007-05-07 at 21:50 +0100, David House wrote:
On 07/05/07, Andrew Coppin
wrote: (Anybody know what the difference between GHC.Prim.Double# and GHC.Float.Double is?)
It's the difference between unboxed and boxed types. A boxed type's representation is in fact a pointer to the unboxed type (I think), so that a Double would be internally represented to a pointer to a Double#. As a consequence, a Double can be _|_, because this can be represented by a null pointer.
Rather it can be represented by a code thunk that when called raises an exception or does not terminate. (It's never a 0-pointer) Duncan