announce: GHC internals library (version 0.1)

Alastair Reid
01 May 2002 11:31:33 +0100

Bernard James POPE <> writes:
> Announcing the GHC internals library, version 0.1.  Essentially this
> provides a means for polymorphically deconstructing values that
> reside on the GHC heap, all from the comfort of your Haskell
> program.

Very cool!

As you say, it's a similar design to the HugsInternals library but
there are some significant differences.  For example, Hugs has:

  data CellKind       
    = Apply   Cell [Cell]
    | Fun     Name    
    | Con     Name    
    | Tuple   Int         
    | Int     Int         
    | Integer Integer   
    | Float   Float       
    | Char    Char        
    | Prim    String      
    | Error   Cell  

while GHC has:

  data CellKind
    = Apply String [Cell]    -- constructor application (saturated)
    | Fun String             -- a function (name may be mangled)
    | Thunk                  -- an expression not in WHNF
    | Int Int
    | Integer Integer
    | Float   Float
    | Double  Double
    | Char    Char
    | Misc    String       -- any other value that we don't yet distinguish (ie Blackhole)

Any chance we can work together to eliminate as many of these
differences as possible?

Alastair Reid