[MLton-commit] r6064

Vesa Karvonen vesak at mlton.org
Sun Oct 7 02:25:14 PDT 2007


More accurate size for lists.
----------------------------------------------------------------------

U   mltonlib/trunk/com/ssh/generic/unstable/detail/value/size.sml

----------------------------------------------------------------------

Modified: mltonlib/trunk/com/ssh/generic/unstable/detail/value/size.sml
===================================================================
--- mltonlib/trunk/com/ssh/generic/unstable/detail/value/size.sml	2007-10-06 21:29:35 UTC (rev 6063)
+++ mltonlib/trunk/com/ssh/generic/unstable/detail/value/size.sml	2007-10-07 09:25:13 UTC (rev 6064)
@@ -130,9 +130,12 @@
 
       fun list xT =
           case getT xT
-           of STATIC c  => DYNAMIC (fn (_, xs) => (c + wordSize) * length xs)
+           of STATIC c =>
+              DYNAMIC (fn (_, xs) => (c + wordSize) * length xs + wordSize)
             | DYNAMIC f =>
-              DYNAMIC (fn (e, xs) => foldl (fn (x, s) => s + f (e, x)) 0 xs)
+              DYNAMIC (fn (e, xs) =>
+                          foldl (fn (x, s) => s + wordSize + f (e, x))
+                                wordSize xs)
 
       fun vector xT = DYNAMIC (sequ Vector.length Vector.foldl (getT xT))
 




More information about the MLton-commit mailing list