[cvs-nhc98] patch applied (hat): Added modules to obtain a trusted
tracing Prelude and module Char.
Malcolm Wallace
Malcolm.Wallace at cs.york.ac.uk
Tue Oct 10 07:11:24 EDT 2006
Fri Dec 14 08:44:58 PST 2001 olaf
* Added modules to obtain a trusted tracing Prelude and module Char.
(Removed previous Prelude modules added by Malcolm.)
Extended the transformation to build tracing wrappers to Haskell
functions from foreign haskell declarations.
Corrected small bugs in pretty printing.
Purpose of new modules:
TPreludeBuiltinTypes.hs (imports Hat and original Prelude)
Tracing version of types that are not definable in Haskell
or are used by functions that are not definable in Haskell
PreludeBuiltin.hs (imports PreludeBuiltinTypes and original Char)
Contains foreign haskell declarations for all functions
not (portably) definable in Haskell.
Has to be transformed into TPreludeBuiltin.hs
PreludeBasic.hs (imports PreludeBuiltin)
Contains all parts of the Prelude and Char (both are mutually
recursive) that can be expressed in Haskell (assuming
nhc98's ability to derive instances of [],(,,,) etc).
Has to be transformed into TPreludeBasic.hs
PreludeTracing.hs (imports PreludeBasic)
Wrapper that exports just the stuff normally defined in the
Prelude.
Has to be transformed into TPreludeTracing.hs and renamed to TPrelude.hs.
The original name cannot be Prelude.hs because then nhc98
confuses it with the original Prelude.
CharTracing.hs (imports PreludeBasic)
Like PreludeTracing.hs, but for the standard library module Char.
Currently the transformation falls over module PreludeBasic, the preceeding ones can be transformed/compiled.
The division between modules Hat and TPreludeBuiltinTypes and arbitrary and there is some redundancy. In the future contents may be exchanged.
Module TPrelude needs to be removed when this Prelude generation mechanism works. Currently it is still there and the Makefile compiles it.
M ./src/compiler98/AuxFile.hs -6 +1
M ./src/compiler98/AuxFixity.hs -4 +14
M ./src/compiler98/AuxLabelAST.hs -4 +5
M ./src/compiler98/Bind.hs -4 +4
M ./src/compiler98/Case.hs -2 +2
M ./src/compiler98/DbgDataTrans.hs -3 +3
M ./src/compiler98/DbgTrans.hs -5 +5
M ./src/compiler98/Extract.hs -4 +4
M ./src/compiler98/FFITrans.hs -4 +4
M ./src/compiler98/FixSyntax.hs -2 +2
M ./src/compiler98/Need.hs -4 +4
M ./src/compiler98/Parse.hs -8 +13
M ./src/compiler98/ParseLex.hs -2 +2
M ./src/compiler98/PrettySyntax.hs -8 +10
M ./src/compiler98/Rename.hs -4 +4
M ./src/compiler98/SccModule.hs -4 +4
M ./src/compiler98/Syntax.hs -3 +6
M ./src/compiler98/SyntaxPos.hs -2 +2
M ./src/compiler98/TokenId.hs -1 +1
M ./src/compiler98/TraceTrans.hs -23 +133
M ./src/compiler98/Type.hs -4 +4
A ./src/hatlib/Char.hs
M ./src/hatlib/Hat.hs -1 +13
R ./src/hatlib/IOPrimitives.hs
A ./src/hatlib/Prelude.hs
A ./src/hatlib/PreludeBasic.hs
A ./src/hatlib/PreludeBuiltin.hs
R ./src/hatlib/Primitives.hs
M ./src/hatlib/TPrelude.hs -20 +18
A ./src/hatlib/TPreludeBuiltinTypes.hs
M ./src/hattrans/AuxFile.hs -6 +1
M ./src/hattrans/AuxFixity.hs -4 +14
M ./src/hattrans/AuxLabelAST.hs -4 +5
M ./src/hattrans/TraceTrans.hs -23 +133
More information about the Cvs-nhc98
mailing list