-
Simon Peyton Jones authored
---------------------------------------------- Output curried functions for data constructors ---------------------------------------------- (incomplete) The idea here is to output code for the *curried* version of the worker of a data constructor, so that the worker can be treated as a first-class citizen elsewhere in the compiler. In particular, it doesn't need to be a "hasNoBinding" thing, which are the subject of a number of nasty hacks. These changes only do the business for the code gen route via AbstractC. Remaining to do: the byte code generator. Idea: move the byte-code gen to STG code, and inject the curried data-constructor workers at the STG stage. I hope the changes here won't make anything stop working. For now, constructor workers remain "hasNoBinding" things. CgConTbls, CodeGen, CoreTidy, CoreToStg
4a1e12a1