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

Reply via email to