[project @ 2001-10-03 13:58:13 by simonpj]
----------------------------------------------
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