
On Monday 01 November 2010 18:40:00, Larry Evans wrote:
http://www.haskell.org/ghc/docs/6.10.2/html/libraries/ghc-prim/GHC-Types .html
contains:
data Int = I# Int#
What does I# Int# mean? I've tried a simple interpretation:
Prelude GHC.Types> I# 5#
<interactive>:1:5: parse error (possibly incorrect indentation) Prelude GHC.Types>
but obviously that failed :(
Needs ghci> :set -XMagicHash then it will print 5. GHC uses the magic hash to denote unboxed raw types and data constructors using those. The point is, I think, making them stand out and avoiding accidental use (most of the time you're fine using the regular boxed things and letting GHC unbox them, but for when that's not good enough, you can use the low- level stuff directly).
TIA.
-Larry