Implementing Strict Core
benl at ouroborus.net
Fri May 3 12:43:21 CEST 2013
On 03/05/2013, at 6:26 AM, Austin Seipp wrote:
> This is very easy using plugins, and means we can purely see the win
> from using Strict Core, and take the time to port optimizations and
> see their effect. Ben L. also recently used a similar approach for
> Repa4, using the DDC core language instead.
I'd also highly (highly) recommend using the plugin approach instead of simply forking GHC, deleting chunks of code from it, and then trying to get it to compile again.
Just producing a plugin that converts existing GHC core to Strict core and back again *for all programs in the testsuite* will iron out a boatload of problems in both your prototype implementation and the full language design (with coercions, primops, state threading hacks etc). You can slurp in chunks of existing GHC code into the plugin, and then change them there.
I expect that fixing the parser / desugarer / pretty printer / type checker / transforms etc for Strict Core will take much longer than simply doing the conversion between it and GHC core.
More information about the ghc-devs