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 | 7aaaa9a22a7eede386cda3cfbb3fc906619415d9 (patch) | |
tree | d8d775ea0314382cc9e5a04b0c292d63bf4a7ad8 | |
parent | e20e964083a048ad4cbb88cc1af3790694f51dfa (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 |