Tue Oct 3 13:25:52 EDT 2006 Samuel Bronson <[EMAIL PROTECTED]>
* Implement IdSupply for real
Tue Oct 3 14:15:25 EDT 2006 Samuel Bronson <[EMAIL PROTECTED]>
* Begin turning ImportState into a record type...
Tue Oct 3 16:44:31 EDT 2006 Samuel Bronson <[EMAIL PROTECTED]>
* Refactor ImportState and IExtract some
Tue Oct 3 17:07:19 EDT 2006 Samuel Bronson <[EMAIL PROTECTED]>
* Refactor IExtract.importData to use the pseudo-monad
Tue Oct 3 18:52:05 EDT 2006 Samuel Bronson <[EMAIL PROTECTED]>
* More refactoring in IExtract
Tue Oct 3 19:53:00 EDT 2006 Samuel Bronson <[EMAIL PROTECTED]>
* Refactor IExtract.importField
New patches:
[Implement IdSupply for real
Samuel Bronson <[EMAIL PROTECTED]>**20061003172552] {
hunk ./src/compiler98/Id.hs 8
-module Id(Id) where
+module Id(Id,IdSupply(..)) where
+
+import State
+
hunk ./src/compiler98/Id.hs 18
--- | This type is not actually useful, I'm just going to refer to it
--- from docstrings of modules that need a supply of unique 'Id's, for
--- grepability. Maybe in the future it could be used for the name of
--- something, but I doubt it would be of much use without a lot more newtypes...
hunk ./src/compiler98/Id.hs 19
-type IdSupply = ()
+-- | Whee! here goes to actually trying to *implement* @IdSupply@ ;-)
+
+class IdSupply state where
+ getUniqueId :: State a state Id state
hunk ./src/compiler98/IntState.hs 16
-import Id(Id)
+import Id
hunk ./src/compiler98/IntState.hs 72
+-- | Do we really need both 'getUnique' and 'uniqueIS'? I vote for taking out uniqueIS. [SamB]
hunk ./src/compiler98/IntState.hs 78
+instance IdSupply IntState where
+ getUniqueId = getUnique
+
hunk ./src/compiler98/RenameLib.hs 47
+instance IdSupply RenameState where
+ getUniqueId _ (RenameState flags unique rps rts rt st derived
+ defaults errors needCheck)
+ = (unique, RenameState flags (succ unique) rps rts rt st derived
+ defaults errors needCheck)
+
}
[Begin turning ImportState into a record type...
Samuel Bronson <[EMAIL PROTECTED]>**20061003181525] {
hunk ./src/compiler98/ImportState.hs 16
-data ImportState =
- ImportState
- Bool -- visible
- Id -- unique
- PackedString -- modid of interface file
- PackedString -- modid of this section of the interface file
- (Set.Set TokenId) -- needI
- (Map.Map (TokenId,IdKind) (Either [Pos] [Id]))
- -- rename (name -> unique)
- (Map.Map (TokenId,IdKind) Info)
- -- symboltable (real name -> info)
- [(TokenId,TokenId,TokenId,[Id],[(Pos,TokenId,Id)])]
- -- [ (mod,realClass, realData, free , Ctxs) ]
- (TokenId -> (InfixClass TokenId,Int))
- -- fixity information (name -> fixity)
- [Error] -- errors
hunk ./src/compiler98/ImportState.hs 17
+-- | It is probably best to refrain from direct access to the fields...
+data ImportState =
+ ImportState {
+ visibleIS :: Bool,
+ uniqueIS :: Id, -- ^ next unique 'Id'
+ rpsIS :: PackedString, -- ^ modid of interface file
+ sectionRpsIS :: PackedString, -- ^ modid of this section of the interface file
+ needI_IS :: (Set.Set TokenId), -- ^ needI [What does this mean? --SamB]
+ renameIS :: (Map.Map (TokenId,IdKind) (Either [Pos] [Id])),
+ -- ^ rename (name -> unique)
+ symtabIS :: (Map.Map (TokenId,IdKind) Info),
+ -- ^ symboltable (real name -> info)
+ instsIS :: [(TokenId,TokenId,TokenId,[Id],[(Pos,TokenId,Id)])],
+ -- ^ [ (mod,realClass, realData, free , Ctxs) ]
+ fixityIS :: (TokenId -> (InfixClass TokenId,Int)),
+ -- ^ fixity information (name -> fixity)
+ errorsIS :: [Error] -- ^ errors
+ }
hunk ./src/compiler98/ImportState.hs 36
+instance IdSupply ImportState where
+ getUniqueId _ is@(ImportState { uniqueIS = unique })
+ = (unique, is { uniqueIS = succ unique })
+
+
hunk ./src/compiler98/ImportState.hs 50
-putModidIS (ImportState visible unique _ _ needI rt st insts fixity errors)
- rps =
- ImportState True unique rps rps needI {-initM-} rt st insts fixity errors
-
+putModidIS is rps = is { visibleIS = True, rpsIS = rps, sectionRpsIS = rps }
}
[Refactor ImportState and IExtract some
Samuel Bronson <[EMAIL PROTECTED]>**20061003204431] {
hunk ./src/compiler98/IExtract.hs 25
-import Id(Id)
+import Id
hunk ./src/compiler98/IExtract.hs 95
-transTid pos kind tid _
- importState@(ImportState visible unique orps rps needI rt st insts
- fixity errors) =
- let key = (ensureM rps tid,kind)
- in case Map.lookup key st of
+transTid pos kind tid down
+ importState@(ImportState { uniqueIS = unique,
+ sectionRpsIS = rps,
+ needIS = needI,
+ symtabIS = st }) =
+ let key = (ensureM rps tid,kind)
+ in case Map.lookup key st of
hunk ./src/compiler98/IExtract.hs 103
- Nothing -> (unique, ImportState visible (succ unique) orps rps
- (Set.insert (fst key) needI)
- rt
- (Map.insertWith combInfo key
- (InfoUsed unique [(kind,tid,rps,pos)]) st)
- insts fixity errors)
-
+ Nothing -> (addNeedIS (fst key) >>>
+ addSymbolIS key (InfoUsed unique [(kind,tid,rps,pos)]) >>>
+ getUniqueId) down importState
hunk ./src/compiler98/IExtract.hs 449
+addRT_IS :: Bool -- ^ interface exports it?
+ -> (TokenId->Bool) -- ^ must it be imported qualified?
+ -> Id
+ -> TokenId
+ -> PackedString
+ -> IdKind
+ -> State0 a ImportState ImportState
+
+addRT_IS iexports mustQualify u tid rps kind _ is =
+ is { renameIS = addRT iexports mustQualify u tid rps kind (renameIS is) }
+
hunk ./src/compiler98/ImportState.hs 8
+import State
hunk ./src/compiler98/ImportState.hs 25
- needI_IS :: (Set.Set TokenId), -- ^ needI [What does this mean? --SamB]
+ needIS :: (Set.Set TokenId), -- ^ needI [What does this mean? --SamB]
hunk ./src/compiler98/ImportState.hs 55
-putModid2IS (ImportState _ unique orps _ needI rt st insts fixity errors)
- visible rps =
- ImportState visible unique orps rps needI rt st insts fixity errors
+putModid2IS is visible rps = is { visibleIS = visible, sectionRpsIS = rps }
hunk ./src/compiler98/ImportState.hs 59
-getNeedIS
- (ImportState visible unique orps rps needI rt st insts fixity errors) =
- (orps,rps,needI)
+getNeedIS is = (rpsIS is, sectionRpsIS is, needIS is)
hunk ./src/compiler98/ImportState.hs 62
-getSymbolTableIS
- (ImportState visible unique orps rps needI rt st insts fixity errors) = st
+getSymbolTableIS = symtabIS
hunk ./src/compiler98/ImportState.hs 65
-getRenameTableIS
- (ImportState visible unique orps rps needI rt st insts fixity errors) = rt
+getRenameTableIS = renameIS
hunk ./src/compiler98/ImportState.hs 68
-getErrIS is@(ImportState vis unique orps rps needI rt st insts fixity errors)
+getErrIS is@(ImportState { errorsIS = errors })
hunk ./src/compiler98/ImportState.hs 72
-importError :: Error -> Id -> () -> ImportState -> (Id,ImportState)
-importError err r _
- (ImportState visible unique orps rps needI rt st insts fixity errors) =
- (r
- ,ImportState visible unique orps rps needI rt st insts fixity (err:errors))
+importError :: Error -> a -> () -> ImportState -> (a,ImportState)
+importError err r _ is = (r, is { errorsIS = err : errorsIS is })
+
+
+
+-- Things added as part of an attempt to keep "IExtract" from having
+-- to pattern match on so many 'ImportState's
+
+-- | Maybe this should be rolled into 'addSymbolIS'?
+addNeedIS :: TokenId -> State0 a ImportState ImportState
+addNeedIS tid _ is = is { needIS = Set.insert tid (needIS is) }
+
+addSymbolIS :: (TokenId, IdKind) -> Info -> State0 a ImportState ImportState
+addSymbolIS symbol info _ is = is { symtabIS = Map.insertWith combInfo symbol info (symtabIS is) }
+
+findSymbolIS :: (TokenId, IdKind) -> State a ImportState (Maybe Info) ImportState
+findSymbolIS symbol _ is = (Map.lookup symbol (symtabIS is), is)
}
[Refactor IExtract.importData to use the pseudo-monad
Samuel Bronson <[EMAIL PROTECTED]>**20061003210719] {
hunk ./src/compiler98/IExtract.hs 121
- -> a -> ImportState -> ImportState
+ -> State0 a ImportState ImportState
hunk ./src/compiler98/IExtract.hs 130
- in case Map.lookup key st of
+ in (case Map.lookup key st of
hunk ./src/compiler98/IExtract.hs 132
- let rt' = addRT visible q u tid orps TCon rt
- in (ImportState visible unique orps rps needI rt'
- (Map.insertWith combInfo key (InfoData u realtid exp nt dk) st)
- insts fixity errors)
+ (addRT_IS visible q u tid orps TCon >>>
+ addSymbolIS key (InfoData u realtid exp nt dk))
+
hunk ./src/compiler98/IExtract.hs 137
- let rt' = addRT visible q u tid orps TCon rt
- in ImportState visible unique orps rps needI rt'
- (Map.insertWith combInfo key
- (InfoData u tid (combIE exp exp') nt dk) st)
- insts fixity errors
+ (addRT_IS visible q u tid orps TCon >>>
+ addSymbolIS key (InfoData u tid (combIE exp exp') nt dk))
+
hunk ./src/compiler98/IExtract.hs 142
- let rt' = addRT visible q u tid orps TCon rt
- in ImportState visible unique orps rps needI rt'
- (Map.insertWith combInfo key
- (InfoData u tid (combIE exp exp') nt dk) st)
- insts fixity errors
+ (addRT_IS visible q u tid orps TCon >>>
+ addSymbolIS key (InfoData u tid (combIE exp exp') nt dk))
+
hunk ./src/compiler98/IExtract.hs 146
- let rt' = addRT visible q u' tid orps TCon rt
- in seq rt' (ImportState visible unique orps rps needI rt'
- (Map.insertWith combInfo key
- (InfoData u' tid' (combIE exp exp')
- nt' dk') st)
- insts fixity errors)
+ (addRT_IS' visible q u' tid orps TCon >>>
+ addSymbolIS key (InfoData u' tid' (combIE exp exp') nt' dk'))
+
hunk ./src/compiler98/IExtract.hs 150
- let rt' = addRT visible q unique tid orps TCon rt
- in (ImportState visible (succ unique) orps rps needI rt'
- (Map.insertWith combInfo key
- (InfoData unique realtid exp nt dk) st)
- insts fixity errors)
+ (getUniqueId >>>= \ uid ->
+ addRT_IS visible q uid tid orps TCon >>>
+ addSymbolIS key (InfoData uid realtid exp nt dk))
+ ) () importState
hunk ./src/compiler98/IExtract.hs 439
-
+-- | Pseudo-monadic variant of 'addRT'
hunk ./src/compiler98/IExtract.hs 451
+-- | Strict version of 'addRT_IS'
+addRT_IS' :: Bool -- ^ interface exports it?
+ -> (TokenId->Bool) -- ^ must it be imported qualified?
+ -> Id
+ -> TokenId
+ -> PackedString
+ -> IdKind
+ -> State0 a ImportState ImportState
+addRT_IS' iexports mustQualify u tid rps kind _ is =
+ let rt = addRT iexports mustQualify u tid rps kind (renameIS is)
+ in rt `seq` is { renameIS = rt }
+
}
[More refactoring in IExtract
Samuel Bronson <[EMAIL PROTECTED]>**20061003225205] {
hunk ./src/compiler98/IExtract.hs 107
-{- Test if Id for given token of given kind exists -}
+{- | Test if Id for given token of given kind exists -}
hunk ./src/compiler98/IExtract.hs 157
- -> a -> ImportState -> ImportState
+ -> State0 a ImportState ImportState
hunk ./src/compiler98/IExtract.hs 166
- in case Map.lookup key st of
+ in (case Map.lookup key st of
hunk ./src/compiler98/IExtract.hs 168
- let rt' = addRT visible q u tid orps TClass rt
- in (ImportState visible unique orps rps needI rt'
- (Map.insertWith combInfo key
- (InfoClass u realtid exp nt ms [] Map.empty) st)
- insts fixity errors)
+ (addRT_IS visible q u tid orps TClass >>>
+ addSymbolIS key (InfoClass u realtid exp nt ms [] Map.empty))
+
hunk ./src/compiler98/IExtract.hs 172
- let rt' = addRT visible q u tid orps TClass rt
- in (ImportState visible unique orps rps needI rt'
- (Map.insertWith combInfo key
- (InfoClass u realtid exp nt ms [] inst) st)
- insts fixity errors)
+ (addRT_IS visible q u tid orps TClass >>>
+ addSymbolIS key (InfoClass u realtid exp nt ms [] inst))
+
hunk ./src/compiler98/IExtract.hs 177
- let rt' = addRT visible q u tid orps TClass rt
- in (ImportState visible unique orps rps needI rt'
- (Map.insertWith combInfo key
- (InfoClass u realtid (combIE exp exp')
- nt ms [] inst') st)
- insts fixity errors)
+ (addRT_IS visible q u tid orps TClass >>>
+ addSymbolIS key (InfoClass u realtid (combIE exp exp') nt ms [] inst'))
+
hunk ./src/compiler98/IExtract.hs 181
- let rt' = addRT visible q (uniqueI info) tid orps TClass rt
- in seq rt' (ImportState visible unique orps rps needI rt' st
- insts fixity errors)
- _ ->
- let rt' = addRT visible q unique tid orps TClass rt
- in (ImportState visible (succ unique) orps rps needI rt'
- (Map.insertWith combInfo key
- (InfoClass unique realtid exp nt ms [] Map.empty) st)
- insts fixity errors)
+ (addRT_IS' visible q (uniqueI info) tid orps TClass)
hunk ./src/compiler98/IExtract.hs 183
+ _ ->
+ (addRT_IS visible q unique tid orps TClass >>>
+ getUniqueId >>>= \ uid ->
+ addSymbolIS key (InfoClass uid realtid exp nt ms [] Map.empty))
+ ) () importState
}
[Refactor IExtract.importField
Samuel Bronson <[EMAIL PROTECTED]>**20061003235300] {
hunk ./src/compiler98/IExtract.hs 190
- -> [Id] -- free type variables
- -> [(Id,Id)] -- type context (predicates)
- -> Id -- type constructor
- -> Id -- data constructor
+ -> [Id] -- ^ free type variables
+ -> [(Id,Id)] -- ^ type context (predicates)
+ -> Id -- ^ type constructor
+ -> Id -- ^ data constructor
hunk ./src/compiler98/IExtract.hs 195
- -> c -> ImportState -> ImportState
+ -> State0 c ImportState ImportState
hunk ./src/compiler98/IExtract.hs 205
- let rt' = addRT visible q unique tid orps Var
- (addRT visible q u tid orps Field rt)
- in (ImportState visible (succ unique) orps rps needI rt'
- (Map.insertWith -- add field name
- combInfo key (InfoField u realtid IEnone [(c,i)] bt unique)
- (Map.insertWith combInfo (realtid,Var) -- add selector
- (InfoVar unique realtid IEnone (fixity realtid)
- (NewType free [] ctxs [mkNTcons bt (map mkNTvar free),nt])
- (Just 1)) st))
- insts fixity errors)
- Just (InfoField u' realtid' ie cis' bt' sel') ->
+ (getUniqueId >>>= \ uid ->
+ addRT_IS visible q uid tid orps Var >>>
+ addRT_IS visible q u tid orps Field >>>
+ addSymbolIS key (InfoField u realtid IEnone [(c,i)] bt uid) >>>
+ addSymbolIS (realtid,Var) (InfoVar unique realtid IEnone (fixity realtid)
+ (NewType free [] ctxs [mkNTcons bt (map mkNTvar free),nt])
+ (Just 1)))
+ () importState
+
+ Just (InfoField u' realtid' ie cis' bt' sel') ->
hunk ./src/compiler98/IExtract.hs 225
- let rt' = addRT visible q (succ unique) tid orps Var
- (addRT visible q unique tid orps Field rt)
- in (ImportState visible (succ $ succ unique) orps rps needI rt'
- (Map.insertWith -- add field name
- combInfo key (InfoField unique realtid IEnone [(c,i)]
- bt (succ unique))
- (Map.insertWith combInfo (realtid,Var) -- add selector
- (InfoVar (succ unique) realtid IEnone (fixity realtid)
- (NewType free [] ctxs [mkNTcons bt (map mkNTvar free),nt])
- (Just 1)) st))
- insts fixity errors)
+ (getUniqueId >>>= \ fieldId ->
+ getUniqueId >>>= \ varId ->
+ addRT_IS visible q fieldId tid orps Field >>>
+ addRT_IS visible q varId tid orps Var >>>
+ addSymbolIS key (InfoField fieldId realtid IEnone [(c,i)] bt varId) >>>
+ addSymbolIS (realtid,Var) (InfoVar varId realtid IEnone (fixity realtid)
+ (NewType free [] ctxs [mkNTcons bt (map mkNTvar free),nt])
+ (Just 1)))
+ () importState
hunk ./src/compiler98/IExtract.hs 237
- -> a -> ImportState -> ImportState
+ -> State0 a ImportState ImportState
}
Context:
[Minor language change.
Andrew Wilkinson <[EMAIL PROTECTED]>**20061002154948]
[Change the readme slightly
Neil Mitchell**20061002130809]
[Fix RenameLib, some comments
Samuel Bronson <[EMAIL PROTECTED]>**20061003204635]
[Doc fix in Info
Samuel Bronson <[EMAIL PROTECTED]>**20061003204623]
[Id/Int & newtype Id in SccModule (finally done?)
Samuel Bronson <[EMAIL PROTECTED]>**20061003020251]
[Id/Int & newtype Id fixes in Type.{Ctx,Type}
Samuel Bronson <[EMAIL PROTECTED]>**20061003014425]
[Haddock fixes in Rename
Samuel Bronson <[EMAIL PROTECTED]>**20061003014404]
[Id/Int & newtype Id fixes in FixSyntax and FreeVar
Samuel Bronson <[EMAIL PROTECTED]>**20061003014316]
[Id/Int & newtype Id fixes in Depend and Derive.Derive
Samuel Bronson <[EMAIL PROTECTED]>**20061003014251]
[Id/Int in STGArity
Samuel Bronson <[EMAIL PROTECTED]>**20061002234625]
[Id/Int in PrimCode
Samuel Bronson <[EMAIL PROTECTED]>**20061002234604]
[Id/Int in PosAtom
Samuel Bronson <[EMAIL PROTECTED]>**20061002234548]
[Id/Int in Lift
Samuel Bronson <[EMAIL PROTECTED]>**20061002234528]
[Get DotNet.Compile working iwth newtype Id
Samuel Bronson <[EMAIL PROTECTED]>**20061002234456]
[Id/Int in Core.Core
Samuel Bronson <[EMAIL PROTECTED]>**20061002234412]
[Id/Int in Case/CaseHelp
Samuel Bronson <[EMAIL PROTECTED]>**20061002234339]
[Get ByteCode.* working with newtype Id
Samuel Bronson <[EMAIL PROTECTED]>**20061002234313]
[Id/Int in Derive.Eq
Samuel Bronson <[EMAIL PROTECTED]>**20061002213840]
[newtype Id fixes in Type.{Lib,Subst,Util}
Samuel Bronson <[EMAIL PROTECTED]>**20061002213628]
[Id/Int in Type.Ctx
Samuel Bronson <[EMAIL PROTECTED]>**20061002213541]
[More fixes in Rename/RenameLib regarding newtype Id
Samuel Bronson <[EMAIL PROTECTED]>**20061002213408]
[Id/Int in Type.Data
Samuel Bronson <[EMAIL PROTECTED]>**20061002211619]
[Missing sigs in TokenInt
Samuel Bronson <[EMAIL PROTECTED]>**20061002211601]
[Id/Int in StrPos
Samuel Bronson <[EMAIL PROTECTED]>**20061002211532]
[Prepare RenameLib for newtype Id
Samuel Bronson <[EMAIL PROTECTED]>**20061002190459]
[Id/Int in RenameLib
Samuel Bronson <[EMAIL PROTECTED]>**20061002190451]
[Id/Int in Rename
Samuel Bronson <[EMAIL PROTECTED]>**20061002190226]
[Id/Int in PosCode
Samuel Bronson <[EMAIL PROTECTED]>**20061002185938]
[Id/Int + missing sigs in Overlap
Samuel Bronson <[EMAIL PROTECTED]>**20061002185848]
[Prepare NT for newtype Id
Samuel Bronson <[EMAIL PROTECTED]>**20061002185526]
[Id/Int in NT
Samuel Bronson <[EMAIL PROTECTED]>**20061002185519]
[Id/Int, haddock, signatures in IntState and Info
Samuel Bronson <[EMAIL PROTECTED]>**20061002185319]
[Prepare IntState for newtype Id
Samuel Bronson <[EMAIL PROTECTED]>**20061002185106]
[Prepare ImportState for newtype Id
Samuel Bronson <[EMAIL PROTECTED]>**20061002184639]
[Id/Int in ImportState
Samuel Bronson <[EMAIL PROTECTED]>**20061002184634]
[newtype Id
Samuel Bronson <[EMAIL PROTECTED]>**20061002184338]
[Prepare IExtract for newtype Id
Samuel Bronson <[EMAIL PROTECTED]>**20061002184318]
[Id/Int in IExtract
Samuel Bronson <[EMAIL PROTECTED]>**20061002184059]
[Prepare ForeignCode for newtype Id
Samuel Bronson <[EMAIL PROTECTED]>**20061002184036]
[Id/Int in ForeignCode
Samuel Bronson <[EMAIL PROTECTED]>**20061002184016]
[Int/Id in Fixity
Samuel Bronson <[EMAIL PROTECTED]>**20061002183148]
[Final(?) touches for newtype Id in CaseLib
Samuel Bronson <[EMAIL PROTECTED]>**20061002183044]
[Id/Int in FSLib
Samuel Bronson <[EMAIL PROTECTED]>**20061002183006]
[Types in CaseHelp
Samuel Bronson <[EMAIL PROTECTED]>**20061002182927]
[Type for cProject in ByteCode.CompileLib
Samuel Bronson <[EMAIL PROTECTED]>**20061002182811]
[Untangle Int/Id in CaseLib (mostly)
Samuel Bronson <[EMAIL PROTECTED]>**20061002180421]
[Silly IdSupply type to tag modules needing unique Ids
Samuel Bronson <[EMAIL PROTECTED]>**20061002180021]
[Replace Int with Id where (hopefully) appropriate in CaseHelp
Samuel Bronson <[EMAIL PROTECTED]>**20061002175431]
[Types + Haddock
Samuel Bronson <[EMAIL PROTECTED]>**20061002175122]
[Comment on the apparant age of State
Samuel Bronson <[EMAIL PROTECTED]>**20061001193227]
[Clean up types in RenameLib some
Samuel Bronson <[EMAIL PROTECTED]>**20061001193137]
[Types in Derive.Read
Samuel Bronson <[EMAIL PROTECTED]>**20061001193120]
[Types in Derive.Lib
Samuel Bronson <[EMAIL PROTECTED]>**20061001193055]
[Types in Derive.Binary
Samuel Bronson <[EMAIL PROTECTED]>**20061001193015]
[Haddock/types in Rename
Samuel Bronson <[EMAIL PROTECTED]>**20061001192708]
[Haddock/type signatures in IntState
Samuel Bronson <[EMAIL PROTECTED]>**20061001192509]
[Clean up type signatures in Fixity some
Samuel Bronson <[EMAIL PROTECTED]>**20061001192224]
[Type signatures in Type.Lib
Samuel Bronson <[EMAIL PROTECTED]>**20060929223550]
[Type signatures in Fixity
Samuel Bronson <[EMAIL PROTECTED]>**20060929223512]
[Sigs in Type.Env
Samuel Bronson <[EMAIL PROTECTED]>**20060929203252]
[Type sigs in RenameLib
Samuel Bronson <[EMAIL PROTECTED]>**20060929202428]
[Type sigs in PreImport
Samuel Bronson <[EMAIL PROTECTED]>**20060929202411]
[Type sigs in Parse.ParseI
Samuel Bronson <[EMAIL PROTECTED]>**20060929202320]
[Add sigs to PreImp
Samuel Bronson <[EMAIL PROTECTED]>**20060929194412]
[Add sigs to IExtract
Samuel Bronson <[EMAIL PROTECTED]>**20060929194223]
[Add sigs to Parse.ParseLex
Samuel Bronson <[EMAIL PROTECTED]>**20060929185352]
[Add sigs to Parse.Parse2
Samuel Bronson <[EMAIL PROTECTED]>**20060929185330]
[Add sigs to ImportState
Samuel Bronson <[EMAIL PROTECTED]>**20060929184931]
[Typesigs in Yhc.Core.*
Samuel Bronson <[EMAIL PROTECTED]>**20060929030940]
[Typesigs in Util.Binary
Samuel Bronson <[EMAIL PROTECTED]>**20060929030854]
[Docs in Syntax module
Samuel Bronson <[EMAIL PROTECTED]>**20060929030813]
[Typesigs in Scc module
Samuel Bronson <[EMAIL PROTECTED]>**20060929030753]
[Typesigs in Parse.ParseLib module
Samuel Bronson <[EMAIL PROTECTED]>**20060929030739]
[Typesigs in Parse.ParseCore module
Samuel Bronson <[EMAIL PROTECTED]>**20060929030719]
[Typesigs in Parse.Lexical module
Samuel Bronson <[EMAIL PROTECTED]>**20060929030647]
[Typesigs in Parse.LexLow module
Samuel Bronson <[EMAIL PROTECTED]>**20060929030621]
[Typesigs in MkSyntax module
Samuel Bronson <[EMAIL PROTECTED]>**20060929030605]
[Typesigs in Error module
Samuel Bronson <[EMAIL PROTECTED]>**20060929030531]
[Oops, missed some stuff in Util.Extra
Samuel Bronson <[EMAIL PROTECTED]>**20060928222640
I had accidentally recorded it along with the TokenId stuff...
]
[Haddockify TokenId
Samuel Bronson <[EMAIL PROTECTED]>**20060928222548]
[Haddockify Util.Extra (mostly signatures)
Samuel Bronson <[EMAIL PROTECTED]>**20060928222101]
[Add signature to SysDep module
Samuel Bronson <[EMAIL PROTECTED]>**20060928221758]
[Haddockify PosCode module
Samuel Bronson <[EMAIL PROTECTED]>**20060928221643]
[Haddockify NT module
Samuel Bronson <[EMAIL PROTECTED]>**20060928221408]
[Add typesigs to Prim module
Samuel Bronson <[EMAIL PROTECTED]>**20060928195337]
[Add typesigs to CaseOpt module
Samuel Bronson <[EMAIL PROTECTED]>**20060928195257]
[Comment on wierd type synonym in CaseLib
Samuel Bronson <[EMAIL PROTECTED]>**20060928195207]
[Complain about missing type sigs (haddock needs them)
Samuel Bronson <[EMAIL PROTECTED]>**20060928194935]
[Oops, messed up the docstring for ByteString.CompileLib.State
Samuel Bronson <[EMAIL PROTECTED]>**20060928114445]
[Fix export list for ByteCode.CompileLib
Samuel Bronson <[EMAIL PROTECTED]>**20060928113309]
[Haddockify ByteCode.CompileLib module
Samuel Bronson <[EMAIL PROTECTED]>**20060928003627]
[Doc edits in Error module
Samuel Bronson <[EMAIL PROTECTED]>**20060927202801]
[Haddockify DotNet.IL module
Samuel Bronson <[EMAIL PROTECTED]>**20060927202706]
[Haddockify FixSyntax module
Samuel Bronson <[EMAIL PROTECTED]>**20060927195005]
[Haddockify Case module
Samuel Bronson <[EMAIL PROTECTED]>**20060927194709]
[Change haddock commandline in Sconstruct to match Makefile.bat
Samuel Bronson <[EMAIL PROTECTED]>**20060927192354]
[Haddockify Bind module.
Samuel Bronson <[EMAIL PROTECTED]>**20060927191828]
[Fix bug 42
Andrew Wilkinson <[EMAIL PROTECTED]>**20060927105351]
[Clean documentation. Remove Windows-isms from Samuel Bronson's patch.
Andrew Wilkinson <[EMAIL PROTECTED]>**20060927095103]
[scons doc -- now with working!
Samuel Bronson <[EMAIL PROTECTED]>**20060927014733]
[Support for building most of the haddock docs with scons
Samuel Bronson <[EMAIL PROTECTED]>**20060927014204]
[Make vsnprintf available from platform.h, make the last windows fix a bit cleaner
Neil Mitchell**20060926112812]
[Define vsnprintf on Windows, where only the _ variant exists
Neil Mitchell**20060926111154]
[Fix the indentation in protectEsc, otherwise its a bad pattern match error (spotted by Catch)
Neil Mitchell**20060926105755]
[Added YHC_BASE_PATH guessing for windows ...
Tom Shackell <[EMAIL PROTECTED]>**20060925153440]
[yhi now guesses YHC_BASE_PATH where possible
Tom Shackell <[EMAIL PROTECTED]>**20060925153150]
[Look in a special location for libgmp, specially for Greg.
Andrew Wilkinson <[EMAIL PROTECTED]>**20060925141402]
[Minor corrections to release build. Add optimisations to Windows build.
Andrew Wilkinson <[EMAIL PROTECTED]>**20060925134027]
[If YHC_BASE_PATH is not set, default to looking for yhc on the PATH, and then hop around from there
Neil Mitchell**20060925130913]
[Change debug=1 flag to type=debug. Add type=release.
Andrew Wilkinson <[EMAIL PROTECTED]>**20060925114000]
[Give better type information - CoreItem is now CoreFunc and CoreData, CoreLet now has a more accurate type (breaks binary compatability, again...)
Neil Mitchell**20060920132218]
[Change the Show instance for Core, now export Show for each of the constructors, not just Core
Neil Mitchell**20060920130130]
[Add coreFunc to the Core API
Neil Mitchell**20060919175519]
[Another dependency for Ix.
Andrew Wilkinson <[EMAIL PROTECTED]>**20060919171058]
[Add dependency for Data.Ix.
Andrew Wilkinson <[EMAIL PROTECTED]>**20060919165550]
[Add a Play instance for Core, and initial Play infrastructure
Neil Mitchell**20060919164102]
[Change the CoreFunc format, to lift the name and arguments up explicitly - much more sensible! (breaks compatability with all external Core tools - but they are all mine)
Neil Mitchell**20060919161741]
[Delete the Read/Show instances for Core, people should use the binary stuff instead
Neil Mitchell**20060919153827]
[Make Core.Core purely generate Core from PosLambda, and the showing/saving to Compile
Neil Mitchell**20060919153344]
[Add a binary read/write for Core
Neil Mitchell**20060919143956]
[Move Core.Pretty to Yhc.Core.Show
Neil Mitchell**20060919142031]
[Move dropModule from Pretty to Yhc.Core.Type
Neil Mitchell**20060919141644]
[Move to Yhc.Core, just move the data structure for now
Neil Mitchell**20060919141044]
[Remove Core.Reduce, wasn't a very good idea, and wasn't used, and wouldn't build
Neil Mitchell**20060919140321]
[Add dependency for Ix on Data.Ratio.
Andrew Wilkinson <[EMAIL PROTECTED]>**20060919082731]
[Copy bootstrap files to the compilation directory rather than installation.
Andrew Wilkinson <[EMAIL PROTECTED]>**20060918190915]
[Minor tweak
Tom Shackell <[EMAIL PROTECTED]>**20060918183056]
[Added YHC.Dynamic support :-)
Tom Shackell <[EMAIL PROTECTED]>**20060918182436]
[Added mod_load as part of the Runtime.API (how did I forget that one?)
Tom Shackell <[EMAIL PROTECTED]>**20060918102314]
[If checking of type sizes failed delete the cache.
Andrew Wilkinson <[EMAIL PROTECTED]>**20060915110303]
[Don't check for svn if we don't need it.
Andrew Wilkinson <[EMAIL PROTECTED]>**20060914152928]
[Allow the user to skip pulling a copy of ctypes by passing skipctypes=1 on the command line. They must provide their own copy if this is going to work.
Andrew Wilkinson <[EMAIL PROTECTED]>**20060914152640]
[Allow commandline options to be stored in a file (options.txt)
Andrew Wilkinson <[EMAIL PROTECTED]>**20060914151911]
[None isn't a valid value, use 0 instead.
Andrew Wilkinson <[EMAIL PROTECTED]>**20060914145032]
[Change failed configure results to None to disable caching.
Andrew Wilkinson <[EMAIL PROTECTED]>**20060914142841]
[Add proper pragma support into Yhc, delete it from Scons
Neil Mitchell**20060914135504]
[Split into processArgs and processMoreArgs, to allow OPTIONS pragma to add more parse information
Neil Mitchell**20060914130423]
[Remove some redundant code
Neil Mitchell**20060914130035]
[Added anna,fluid & prolog to tests
Tom Shackell <[EMAIL PROTECTED]>**20060914132309]
[Add a special core option for Neil. Type scons core=1 to activate.
Andrew Wilkinson <[EMAIL PROTECTED]>**20060914112103]
[Allow the user to override the detected architecture.
Andrew Wilkinson <[EMAIL PROTECTED]>**20060914110551]
[Recalculate dependencies if file modification time has changed.
Andrew Wilkinson <[EMAIL PROTECTED]>**20060914105015]
[Only rebuild files if the .hi files they depend on change. Fixes bug #20.
Andrew Wilkinson <[EMAIL PROTECTED]>**20060914104411]
[Added '-h 40M' flags to paraffins so it works on x64
Tom Shackell <[EMAIL PROTECTED]>**20060913180359]
[Improved the pic and removed the gamteb test
Tom Shackell <[EMAIL PROTECTED]>**20060913175829]
[Use absolute YHC_BASE_PATH
Andrew Wilkinson <[EMAIL PROTECTED]>**20060913164718]
[os.getcwd() doesn't end in a slash.
Andrew Wilkinson <[EMAIL PROTECTED]>**20060913162706]
[Fixed the x2n1 bug
Tom Shackell <[EMAIL PROTECTED]>**20060913155320
The problem was actually a serious issue with regard to the NEEDHEAP analysis.
I'd forgotten that the amount of heap used by an APPLY instruction is not fixed
until runtime - and thus every APPLY needs to be followed by a NEED_HEAP
(providing no memory was allocated). The solution was simply to do that, have the
memory analysis phase introduce NEED_HEAP instructions after APPLY. The most common
case of
APPLY ...
EVAL
still requires no NEED_HEAP (which is correctly determined and removed automatically).
Tom
]
[Use absolute path for YHC_BASE_PATH
Andrew Wilkinson <[EMAIL PROTECTED]>**20060913155844]
[Fix up the test script, assuming that YHC_BASE_PATH is always absolute
Neil Mitchell**20060913154258]
[If the extension is .lhs, then always give the -unlit flag
Neil Mitchell**20060913150026]
[Move the Flags and FileFlags structures into FrontData, where they (hopefully) belong
Neil Mitchell**20060913143135]
[Move the Flags data into the FileFlags information, so each file can have different flags
Neil Mitchell**20060913135506]
[Incorporated nofib tests into the testsuite, modified yhi and tester to do so.
Tom Shackell <[EMAIL PROTECTED]>**20060913120540]
[Fix the Core output so its all with the right name, for Catch
Neil Mitchell**20060911211822]
[Add Eq instances for Core, entirely unneeded for Yhc, but makes Catch a bit easier ;)
Neil Mitchell**20060911175447]
[Make tuples desugar to the same thing everywhere (rather than just the use, not the definition!)
Neil Mitchell**20060911172801]
[Remove empty WheelSieve2 directory, since that test is now in the testsuite
Neil Mitchell**20060911144752]
[Move wheelsieve into the tests, in a manner guaranteed to invoke GC
Neil Mitchell**20060911144617]
[Take less prime numbers, but still enough to ensure GC happens
Neil Mitchell**20060911144159]
[Delete nqueens, is in the test directory as Queens
Neil Mitchell**20060911143951]
[Delete unneeded makefiles in the test directory
Neil Mitchell**20060911143840]
[Remove test/Lit.lhs, has now been moved to parsing/literate
Neil Mitchell**20060911143407]
[Wheelsieve fix (oops)
Tom Shackell <[EMAIL PROTECTED]>**20060911140815]
[Wheelsieve fix
Tom Shackell <[EMAIL PROTECTED]>**20060911140656]
[Make the initial file depend on both its .hi and .hbc file
Neil Mitchell**20060911140036]
[Check if the initial file is dirty or not, make recompilations really quick
Neil Mitchell**20060911133438]
[Add CoreDouble and CoreFloat, to encode floating point numbers in the Core
Neil Mitchell**20060911125853]
[Make lam2core cope with primitives and foreign function calls (which are treated as though they were primitive)
Neil Mitchell**20060911124513]
[Dump the -corep information to a file with the extension .ycr
Neil Mitchell**20060911111539]
[Don't link to libdl on FreeBSD
Andrew Wilkinson <[EMAIL PROTECTED]>**20060907151046]
[Fix an incompatability introduced by ctypes, by making ctypes depend on python
Neil Mitchell**20060907145727]
[Detect when the C compiler doesn't work. And don't require one if we're only building yhc.
Andrew Wilkinson <[EMAIL PROTECTED]>**20060817142541]
[Pass entire environment to GHC. Avoids 'HOME: getEnv: does not exist (no environment variable)' message from GHC.
Andrew Wilkinson <[EMAIL PROTECTED]>**20060815155119]
[Back out change which made Char signed as it's not on Linux PPC.
Andrew Wilkinson <[EMAIL PROTECTED]>**20060815151658]
[Don't make assumptions about char.
Andrew Wilkinson <[EMAIL PROTECTED]>**20060815124721]
[Remove libffi that was in the source code directory
Neil Mitchell**20060815134849]
[Mark packed string as expected to fail
Neil Mitchell**20060815134351]
[Add expected failure concept to tester, so that buildbot reports success
Neil Mitchell**20060815134320]
[Make the tests be executed in the same order regardless of the order the file system finds them in
Neil Mitchell**20060815130142]
[Remove build warnings from yhi.
Andrew Wilkinson <[EMAIL PROTECTED]>**20060815110046]
[Force types to be signed. Should fix bug on ppc linux where char is unsigned by default.
Andrew Wilkinson <[EMAIL PROTECTED]>**20060814105637]
[Don't check /usr/local on Windows
Andrew Wilkinson <[EMAIL PROTECTED]>**20060814100019]
[Add libffi build rule for MacOS X on x86
Andrew Wilkinson <[EMAIL PROTECTED]>**20060814083001]
[Link against libraries on non Darwin operating systems on PPC
Andrew Wilkinson <[EMAIL PROTECTED]>**20060810111259]
[Fix copy and paste error.
Andrew Wilkinson <[EMAIL PROTECTED]>**20060810084957]
[Add support for linux on ppc.
Andrew Wilkinson <[EMAIL PROTECTED]>**20060809105016]
[Actually make my last two patches work.
Andrew Wilkinson <[EMAIL PROTECTED]>**20060809093638]
[Check /usr/local for headers and library files
Andrew Wilkinson <[EMAIL PROTECTED]>**20060808133931]
[Fall back to Python if uname -o fails
Andrew Wilkinson <[EMAIL PROTECTED]>**20060808133902]
[TAG 03_AUG_2006
Neil Mitchell**20060803135817]
Patch bundle hash:
ec565f5fed1e349fd228ae8ddd45f5caccaf92d2
_______________________________________________
Yhc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/yhc