diff options
author | Adam Chlipala <adamc@hcoop.net> | 2009-11-01 10:31:18 -0500 |
---|---|---|
committer | Adam Chlipala <adamc@hcoop.net> | 2009-11-01 10:31:18 -0500 |
commit | 1beaf9527c0b6ab4b2f06267966e9e89a26550ff (patch) | |
tree | d8d775ea0314382cc9e5a04b0c292d63bf4a7ad8 | |
parent | 86e740bf4d6be8cb24e32fa2857c57eb860c21cf (diff) |
Optimizing str1 in MonoOpt
-rw-r--r-- | src/mono_opt.sml | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/mono_opt.sml b/src/mono_opt.sml index bb165770..d4441ac7 100644 --- a/src/mono_opt.sml +++ b/src/mono_opt.sml @@ -502,6 +502,13 @@ fun exp e = | [] => raise Fail "MonoOpt impossible nil") | NONE => e end + + | EFfiApp ("Basis", "str1", [(EPrim (Prim.Char ch), _)]) => + EPrim (Prim.String (str ch)) + | EFfiApp ("Basis", "attrifyString", [(EFfiApp ("Basis", "str1", [e]), _)]) => + EFfiApp ("Basis", "attrifyChar", [e]) + | EFfiApp ("Basis", "attrifyString_w", [(EFfiApp ("Basis", "str1", [e]), _)]) => + EFfiApp ("Basis", "attrifyChar_w", [e]) | _ => e |