External Core in binary format

Neil Mitchell ndmitchell at gmail.com
Mon Jun 18 08:48:58 EDT 2007


Hi

> Well, in GHC the Prelude ~= the base package, so you'll have to translate (a
> large chunk of) base into YHC.Core.  It uses lots of primitives, so you'll need
> translations for many of those (exceptions?  MVars?  GMP operations?).

Trivial :)

Yhc.Core has the notion of primitives, which is something that is
beneath the level of Haskell code. Yhc.Core is not primarily intended
to be executed, and each program can decide what it wants to do with
primitives on a case by case basis. For example:

* Dr Haskell ignores all primitives
* Catch treats them as returning any value
* Reduceron implements the primitives it needs

We also have Yhc.Core.Overlay which lets you write a translator from
primitives to anything else, so its about 2 lines to implement a new
primitive in Catch, if the default behaviour isn't what you want.

If we did want to execute or compile Yhc.Core that would be a lot of
work, but again, the Overlay mechanism means its not that bad.

Thanks

Neil



More information about the Cvs-ghc mailing list