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