comparison src/mono_opt.sml @ 1287:5137b0537c92

Polymorphic variants
author Adam Chlipala <adam@chlipala.net>
date Thu, 19 Aug 2010 17:28:52 -0400
parents 83b1853d1e58
children e2f803080934
comparison
equal deleted inserted replaced
1286:829da30fb808 1287:5137b0537c92
524 EPrim (Prim.String (str ch)) 524 EPrim (Prim.String (str ch))
525 | EFfiApp ("Basis", "attrifyString", [(EFfiApp ("Basis", "str1", [e]), _)]) => 525 | EFfiApp ("Basis", "attrifyString", [(EFfiApp ("Basis", "str1", [e]), _)]) =>
526 EFfiApp ("Basis", "attrifyChar", [e]) 526 EFfiApp ("Basis", "attrifyChar", [e])
527 | EFfiApp ("Basis", "attrifyString_w", [(EFfiApp ("Basis", "str1", [e]), _)]) => 527 | EFfiApp ("Basis", "attrifyString_w", [(EFfiApp ("Basis", "str1", [e]), _)]) =>
528 EFfiApp ("Basis", "attrifyChar_w", [e]) 528 EFfiApp ("Basis", "attrifyChar_w", [e])
529
530 | EBinop ("+", (EPrim (Prim.Int n1), _), (EPrim (Prim.Int n2), _)) => EPrim (Prim.Int (Int64.+ (n1, n2)))
529 531
530 | _ => e 532 | _ => e
531 533
532 and optExp e = #1 (U.Exp.map {typ = typ, exp = exp} e) 534 and optExp e = #1 (U.Exp.map {typ = typ, exp = exp} e)
533 535