• simonpj's avatar
    [project @ 2001-05-24 13:59:09 by simonpj] · cbdeae8f
    simonpj authored
    ------------------------------------------------------
    	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
    cbdeae8f
HsDecls.lhs 27.3 KB