• chak's avatar
    [project @ 2002-02-11 08:20:38 by chak] · 10fcd78c
    chak authored
    *******************************
    		       * Merging from ghc-ndp-branch *
    		       *******************************
    
    This commit merges the current state of the "parallel array extension" and
    includes the following:
    
    * (Almost) completed Milestone 1:
      - The option `-fparr' activates the H98 extension for parallel arrays.
      - These changes have a high likelihood of conflicting (in the CVS sense)
        with other changes to GHC and are the reason for merging now.
      - ToDo: There are still some (less often used) functions not implemented in
    	  `PrelPArr' and a mechanism is needed to automatically import
    	  `PrelPArr' iff `-fparr' is given.  Documentation that should go into
    	  the Commentary is currently in `ghc/compiler/ndpFlatten/TODO'.
    
    * Partial Milestone 2:
      - The option `-fflatten' activates the flattening transformation and `-ndp'
        selects the "ndp" way (where all libraries have to be compiled with
        flattening).  The way option `-ndp' automagically turns on `-fparr' and
        `-fflatten'.
      - Almost all changes are in the new directory `ndpFlatten' and shouldn't
        affect the rest of the compiler.  The only exception are the options and
        the points in `HscMain' where the flattening phase is called when
        `-fflatten' is given.
      - This isn't usable yet, but already implements function lifting,
        vectorisation, and a new analysis that determines which parts of a module
        have to undergo the flattening transformation.  Missing are data structure
        and function specialisation, the unboxed array library (including fusion
        rules), and lots of testing.
    
    I have just run the regression tests on the thing without any problems.  So,
    it seems, as if we haven't broken anything crucial.
    10fcd78c
TcSimplify.lhs 64.8 KB