Monomorphizing GHC Core?

John Meacham john at
Sat Jun 21 02:11:14 UTC 2014

I do that with jhc to allow compilation to bare hardware. The Grin
intermediate language is neither polymorphic nor higher order.
Basically, in involves adding a sprinkling of type coercions and
conjuring up some types that reflect the 'shape' of the data without
being self-referential. so I don't do it til fairly late in the
lambda-cube optimization passes because it loses some information. I
wonder if the explicit coercions in system Fc used by ghc now will
allow a more principled approach.


On Thu, Jun 19, 2014 at 12:28 PM, Conal Elliott <conal at> wrote:
> Has anyone worked on a monomorphizing transformation for GHC Core? I
> understand that polymorphic recursion presents a challenge, and I do indeed
> want to work with polymorphic recursion but only on types for which the
> recursion bottoms out statically (i.e., each recursive call is on a smaller
> type). I'm aiming at writing high-level polymorphic code and generating
> monomorphic code on unboxed values. This work is part of a project for
> compiling Haskell to hardware, described on my blog (
> Thanks,  - Conal
> _______________________________________________
> Glasgow-haskell-users mailing list
> Glasgow-haskell-users at

John Meacham -

More information about the Glasgow-haskell-users mailing list