cvs commit: fptools/ghc/compiler/absCSyn AbsCUtils.lhs PprAbsC.lhs fptools/ghc/compiler/coreSyn CoreUnfold.lhs fptools/ghc/compiler/deSugar DsCCall.lhs DsForeign.lhs fptools/ghc/compiler/hsSyn HsDecls.lhs fptools/ghc/compiler/main MkIface.lhs fptools/ghc/compiler/nativeGen ...

Simon Peyton Jones simonpj@glass.cse.ogi.edu
Thu, 24 May 2001 06:59:13 -0700


simonpj     2001/05/24 06:59:13 PDT

  Modified files:
    ghc/compiler/absCSyn AbsCUtils.lhs PprAbsC.lhs 
    ghc/compiler/coreSyn CoreUnfold.lhs 
    ghc/compiler/deSugar DsCCall.lhs DsForeign.lhs 
    ghc/compiler/hsSyn   HsDecls.lhs 
    ghc/compiler/main    MkIface.lhs 
    ghc/compiler/nativeGen StixPrim.lhs 
    ghc/compiler/parser  Lex.lhs ParseUtil.lhs Parser.y 
    ghc/compiler/prelude ForeignCall.lhs TysPrim.lhs 
    ghc/compiler/rename  ParseIface.y RnHsSyn.lhs RnIfaces.lhs 
                         RnNames.lhs RnSource.lhs 
    ghc/compiler/typecheck TcEnv.lhs TcForeign.lhs TcHsSyn.lhs 
                           TcInstDcls.lhs TcModule.lhs 
                           TcTyClsDecls.lhs TcTyDecls.lhs 
    ghc/compiler/types   PprType.lhs TyCon.lhs Type.lhs 
  Log:
  	------------------------------------------------------
  	More stuff towards generalising 'foreign' declarations
  	------------------------------------------------------
  
  This is the second step towards generalising 'foreign' declarations to
  handle langauges other than C.  Now I can handle
  
    foreign import dotnet type T
    foreign import dotnet "void Foo.Baz.f( T )" f :: T -> IO ()
  
  			** WARNING **
  	I believe that all the foreign stuff for C should
  	work exactly as before, but I have not tested it
  	thoroughly.  Sven, Manuel, Marcin: please give it a
  	whirl and compare old with new output.
  
  Lots of fiddling around with data types.  The main changes are
  
  * HsDecls.lhs
  	The ForeignDecl type and its friends
  	Note also the ForeignType constructor to TyClDecl
  
  * ForeignCall.lhs
  	Here's where the stuff that survives right through
  	compilation lives
  
  * TcForeign.lhs DsForeign.lhs
  	Substantial changes driven by the new data types
  
  * Parser.y ParseIface.y RnSource
  	Just what you'd expect
  
  Revision  Changes    Path
  1.34      +4 -4      fptools/ghc/compiler/absCSyn/AbsCUtils.lhs
  1.72      +13 -17    fptools/ghc/compiler/absCSyn/PprAbsC.lhs
  1.81      +1 -5      fptools/ghc/compiler/coreSyn/CoreUnfold.lhs
  1.48      +7 -5      fptools/ghc/compiler/deSugar/DsCCall.lhs
  1.52      +85 -86    fptools/ghc/compiler/deSugar/DsForeign.lhs
  1.68      +74 -59    fptools/ghc/compiler/hsSyn/HsDecls.lhs
  1.131     +7 -1      fptools/ghc/compiler/main/MkIface.lhs
  1.68      +4 -6      fptools/ghc/compiler/nativeGen/StixPrim.lhs
  1.51      +2 -0      fptools/ghc/compiler/parser/Lex.lhs
  1.36      +4 -5      fptools/ghc/compiler/parser/ParseUtil.lhs
  1.66      +46 -21    fptools/ghc/compiler/parser/Parser.y
  1.2       +51 -40    fptools/ghc/compiler/prelude/ForeignCall.lhs
  1.37      +32 -28    fptools/ghc/compiler/prelude/TysPrim.lhs
  1.107     +4 -1      fptools/ghc/compiler/rename/ParseIface.y
  1.57      +3 -0      fptools/ghc/compiler/rename/RnHsSyn.lhs
  1.143     +2 -1      fptools/ghc/compiler/rename/RnIfaces.lhs
  1.121     +3 -9      fptools/ghc/compiler/rename/RnNames.lhs
  1.123     +35 -31    fptools/ghc/compiler/rename/RnSource.lhs
  1.94      +1 -0      fptools/ghc/compiler/typecheck/TcEnv.lhs
  1.32      +148 -137  fptools/ghc/compiler/typecheck/TcForeign.lhs
  1.58      +2 -2      fptools/ghc/compiler/typecheck/TcHsSyn.lhs
  1.122     +1 -1      fptools/ghc/compiler/typecheck/TcInstDcls.lhs
  1.116     +1 -1      fptools/ghc/compiler/typecheck/TcModule.lhs
  1.74      +12 -6     fptools/ghc/compiler/typecheck/TcTyClsDecls.lhs
  1.78      +3 -0      fptools/ghc/compiler/typecheck/TcTyDecls.lhs
  1.55      +1 -1      fptools/ghc/compiler/types/PprType.lhs
  1.50      +39 -12    fptools/ghc/compiler/types/TyCon.lhs
  1.84      +12 -2     fptools/ghc/compiler/types/Type.lhs