Fri Feb 22 03:14:45 CET 2008  Lemmih <[EMAIL PROTECTED]>
  * Use an IdMap in E.Demand. This gives an 18% speed-up and smaller ho files.
New patches:

[Use an IdMap in E.Demand. This gives an 18% speed-up and smaller ho files.
Lemmih <[EMAIL PROTECTED]>**20080222021445] {
hunk ./E/Demand.hs 20
-import qualified Data.Map as Map
hunk ./E/Demand.hs 32
-import Support.MapBinaryInstance
hunk ./E/Demand.hs 66
-data DemandEnv = DemandEnv (Map.Map TVr Demand) Demand
+data DemandEnv = DemandEnv (IdMap Demand) Demand
hunk ./E/Demand.hs 71
-        putMap dt
+        put dt
hunk ./E/Demand.hs 74
-        m <- getMap
+        m <- get
hunk ./E/Demand.hs 84
-    showsPrec _ (DemandEnv m Absent) = showString "{" . foldr (.) id (intersperse (showString ",") [ showString (pprint t) . showString " -> " . shows v | (t,v) <- Map.toList m]) . showString "}"
+    showsPrec _ (DemandEnv m Absent) = showString "{" . foldr (.) id (intersperse (showString ",") [ showString (pprint t) . showString " -> " . shows v | (t,v) <- idMapToList m]) . showString "}"
hunk ./E/Demand.hs 86
-    showsPrec _ (DemandEnv m demand) = showString "{" . shows demand . showString " - " . foldr (.) id (intersperse (showString ",") [ showString (pprint t) . showString " -> " . shows v | (t,v) <- Map.toList m]) . showString "}"
+    showsPrec _ (DemandEnv m demand) = showString "{" . shows demand . showString " - " . foldr (.) id (intersperse (showString ",") [ showString (pprint t) . showString " -> " . shows v | (t,v) <- idMapToList m]) . showString "}"
hunk ./E/Demand.hs 205
-lenv e (DemandEnv m r) = case Map.lookup e m of
+lenv e (DemandEnv m r) = case mlookup e m of
hunk ./E/Demand.hs 211
-demandEnvSingleton t d = DemandEnv (Map.singleton t d) idGlb
+demandEnvSingleton t d = DemandEnv (msingleton (tvrIdent t) d) idGlb
hunk ./E/Demand.hs 214
-demandEnvMinus (DemandEnv m r) x = DemandEnv (Map.delete x m) r
+demandEnvMinus (DemandEnv m r) x = DemandEnv (mdelete (tvrIdent x) m) r
hunk ./E/Demand.hs 218
-        m = Map.fromList [ (x,lenv x d1 `lub` lenv x d2) | x <- Map.keys m1 ++ Map.keys m2]
+        m = fromList [ (x,lenv x d1 `lub` lenv x d2) | x <- mkeys m1 ++ mkeys m2]
hunk ./E/Demand.hs 220
-        m = Map.fromList [ (x,lenv x d1 `glb` lenv x d2) | x <- Map.keys m1 ++ Map.keys m2]
+        m = fromList [ (x,lenv x d1 `glb` lenv x d2) | x <- mkeys m1 ++ mkeys m2]
hunk ./E/Demand.hs 315
-    let sx = lenv x phi
+    let sx = lenv (tvrIdent x) phi
hunk ./E/Demand.hs 320
-    let sx = lenv x phi
+    let sx = lenv (tvrIdent x) phi
hunk ./E/Demand.hs 332
-            (e',enve :=> []) <- analyze (eCaseScrutinee ec) (sp [ lenv t enva | t <- ts])
+            (e',enve :=> []) <- analyze (eCaseScrutinee ec) (sp [ lenv (tvrIdent t) enva | t <- ts])
hunk ./E/Demand.hs 340
-        let g (t,e) = (tvrInfo_u (Info.insert (lenv t phi)) t,e)
+        let g (t,e) = (tvrInfo_u (Info.insert (lenv (tvrIdent t) phi)) t,e)
hunk ./E/Demand.hs 354
-lazify (DemandEnv x r) = DemandEnv (Map.map f x) Absent where
+lazify (DemandEnv x r) = DemandEnv (fmap f x) Absent where
hunk ./E/Demand.hs 371
-denvDelete x (DemandEnv m r) = DemandEnv (Map.delete x m) r
+denvDelete x (DemandEnv m r) = DemandEnv (mdelete (tvrIdent x) m) r
}

Context:

[improve documentation for core type system
John Meacham <[EMAIL PROTECTED]>**20080221042003] 
[fix documentation syntax to not conflict with pragmas, add 'Internals' section to manual
John Meacham <[EMAIL PROTECTED]>**20080221033236] 
[clean out old irrelevant code in Number.hs
John Meacham <[EMAIL PROTECTED]>**20080221032134] 
[fix various spelling/grammer issues with help files. add pragma.mkd help file
John Meacham <[EMAIL PROTECTED]>**20080221021549] 
[start adding jhc manual and program to stitch it together
John Meacham <[EMAIL PROTECTED]>**20080221010433] 
[add Jhc.ACIO module for top level actions
John Meacham <[EMAIL PROTECTED]>**20080221005357] 
[add Comb data type to hold supercombinators
John Meacham <[EMAIL PROTECTED]>**20080220043315] 
[add substMap'' back in
John Meacham <[EMAIL PROTECTED]>**20080220050203] 
[Makefile wibbles for jhcp and *.hsc
Lemmih <[EMAIL PROTECTED]>**20080220184910] 
[Add a comment describing the function of E.Subst.
Lemmih <[EMAIL PROTECTED]>**20080220184027] 
[Remove debug code.
Lemmih <[EMAIL PROTECTED]>**20080219151554] 
[Cache scoping info, avoid unnecessary maps.
Lemmih <[EMAIL PROTECTED]>**20080219151410] 
[use newId to generate unique ids rather than using local functions
John Meacham <[EMAIL PROTECTED]>**20080220054608] 
[move Id selection code to a common place in Name.Id
John Meacham <[EMAIL PROTECTED]>**20080220054522] 
[remove BindType anotations from all variables as they were rarely used
John Meacham <[EMAIL PROTECTED]>**20080219153025] 
[add mfilterWithKey
John Meacham <[EMAIL PROTECTED]>**20080219151259] 
[add findOrphanRules and mapRuleBodies
John Meacham <[EMAIL PROTECTED]>**20080219120255] 
[fix show instance for numbers
John Meacham <[EMAIL PROTECTED]>**20080219093542] 
[add the ability to get at peek,poke and static type info via primitive imports
John Meacham <[EMAIL PROTECTED]>**20080219054002] 
[Only use atoms when absolutely necessary.
Lemmih <[EMAIL PROTECTED]>**20080218232922] 
[Avoid lists. They are the bane of performance if badly used.
Lemmih <[EMAIL PROTECTED]>**20080218232646] 
[Efficient substitutions.
Lemmih <[EMAIL PROTECTED]>**20080218232431] 
[add 'prelude.m4' for common m4 definitons, make m4 use the same include path as haskell source, prefix all builtins  with m4_ to avoid name clashes
John Meacham <[EMAIL PROTECTED]>**20080218182546] 
[TAG didgigdy
John Meacham <[EMAIL PROTECTED]>**20080218150752] 
Patch bundle hash:
304f3ac6c004191d7fe509b91139052dc38ffd8e
_______________________________________________
jhc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/jhc

Reply via email to