cvs commit: fptools/ghc/compiler/codeGen CgConTbls.lhs CodeGen.lhs
fptools/ghc/compiler/coreSyn CoreTidy.lhs fptools/ghc/compiler/stgSyn
CoreToStg.lhs
Simon Peyton Jones
simonpj@glass.cse.ogi.edu
Wed, 3 Oct 2001 06:58:13 -0700
simonpj 2001/10/03 06:58:13 PDT
Modified files:
ghc/compiler/codeGen CgConTbls.lhs CodeGen.lhs
ghc/compiler/coreSyn CoreTidy.lhs
ghc/compiler/stgSyn CoreToStg.lhs
Log:
----------------------------------------------
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
Revision Changes Path
1.31 +54 -19 fptools/ghc/compiler/codeGen/CgConTbls.lhs
1.41 +1 -2 fptools/ghc/compiler/codeGen/CodeGen.lhs
1.56 +3 -3 fptools/ghc/compiler/coreSyn/CoreTidy.lhs
1.88 +18 -16 fptools/ghc/compiler/stgSyn/CoreToStg.lhs