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