Mercurial > urweb
comparison src/monoize.sml @ 395:9f67aac13cf7
ord_string
author | Adam Chlipala <adamc@hcoop.net> |
---|---|
date | Tue, 21 Oct 2008 11:22:10 -0400 |
parents | 9f6fe6f32961 |
children | 8084fa9216de |
comparison
equal
deleted
inserted
replaced
394:9f6fe6f32961 | 395:9f67aac13cf7 |
---|---|
756 (L'.EAbs ("y", (L'.TFfi ("Basis", "bool"), loc), | 756 (L'.EAbs ("y", (L'.TFfi ("Basis", "bool"), loc), |
757 (L'.TFfi ("Basis", "bool"), loc), | 757 (L'.TFfi ("Basis", "bool"), loc), |
758 (L'.EBinop (s, (L'.ERel 1, loc), (L'.ERel 0, loc)), loc)), loc)), loc) | 758 (L'.EBinop (s, (L'.ERel 1, loc), (L'.ERel 0, loc)), loc)), loc)), loc) |
759 in | 759 in |
760 ordEx ((L'.TFfi ("Basis", "bool"), loc), | 760 ordEx ((L'.TFfi ("Basis", "bool"), loc), |
761 boolBin "<", | |
762 boolBin "<=") | |
763 end | |
764 | L.EFfi ("Basis", "ord_string") => | |
765 let | |
766 fun boolBin s = | |
767 (L'.EAbs ("x", (L'.TFfi ("Basis", "string"), loc), | |
768 (L'.TFun ((L'.TFfi ("Basis", "string"), loc), (L'.TFfi ("Basis", "bool"), loc)), loc), | |
769 (L'.EAbs ("y", (L'.TFfi ("Basis", "string"), loc), | |
770 (L'.TFfi ("Basis", "bool"), loc), | |
771 (L'.EBinop (s, | |
772 (L'.EBinop ("strcmp", | |
773 (L'.ERel 1, loc), | |
774 (L'.ERel 0, loc)), loc), | |
775 (L'.EPrim (Prim.Int (Int64.fromInt 0)), loc)), loc)), loc)), loc) | |
776 in | |
777 ordEx ((L'.TFfi ("Basis", "string"), loc), | |
761 boolBin "<", | 778 boolBin "<", |
762 boolBin "<=") | 779 boolBin "<=") |
763 end | 780 end |
764 | 781 |
765 | L.ECApp ((L.EFfi ("Basis", "show"), _), t) => | 782 | L.ECApp ((L.EFfi ("Basis", "show"), _), t) => |