diff src/mono_opt.sml @ 183:c0ea24dcb86f

Optimizing 'case' in Mono_reduce
author Adam Chlipala <adamc@hcoop.net>
date Sun, 03 Aug 2008 13:30:27 -0400
parents b1cfe49ce692
children 98c29e3986d3
line wrap: on
line diff
--- a/src/mono_opt.sml	Sun Aug 03 12:43:20 2008 -0400
+++ b/src/mono_opt.sml	Sun Aug 03 13:30:27 2008 -0400
@@ -79,7 +79,7 @@
                                                   str ch
                                               else
                                                   "%" ^ hexIt ch)
-                   
+        
 fun exp e =
     case e of
         EPrim (Prim.String s) =>
@@ -132,6 +132,10 @@
         ESeq ((optExp (EWrite e1, loc), loc),
               (optExp (EWrite e2, loc), loc))
 
+      | ESeq ((EWrite (EPrim (Prim.String s1), _), loc),
+              (EWrite (EPrim (Prim.String s2), _), _)) =>
+        EWrite (EPrim (Prim.String (s1 ^ s2)), loc)
+
       | EFfiApp ("Basis", "htmlifyString", [(EPrim (Prim.String s), _)]) =>
         EPrim (Prim.String (htmlifyString s))
       | EWrite (EFfiApp ("Basis", "htmlifyString", [(EPrim (Prim.String s), _)]), loc) =>