Mercurial > urweb
comparison src/monoize.sml @ 388:2e93d18daf44
Monoize eq_[bool|string]
author | Adam Chlipala <adamc@hcoop.net> |
---|---|
date | Tue, 21 Oct 2008 09:52:52 -0400 |
parents | 7abb28e9d51f |
children | acaf9d19fbb7 |
comparison
equal
deleted
inserted
replaced
387:7abb28e9d51f | 388:2e93d18daf44 |
---|---|
527 ((L'.EAbs ("x", (L'.TFfi ("Basis", "int"), loc), | 527 ((L'.EAbs ("x", (L'.TFfi ("Basis", "int"), loc), |
528 (L'.TFun ((L'.TFfi ("Basis", "int"), loc), (L'.TFfi ("Basis", "bool"), loc)), loc), | 528 (L'.TFun ((L'.TFfi ("Basis", "int"), loc), (L'.TFfi ("Basis", "bool"), loc)), loc), |
529 (L'.EAbs ("y", (L'.TFfi ("Basis", "int"), loc), | 529 (L'.EAbs ("y", (L'.TFfi ("Basis", "int"), loc), |
530 (L'.TFfi ("Basis", "bool"), loc), | 530 (L'.TFfi ("Basis", "bool"), loc), |
531 (L'.EBinop ("==", (L'.ERel 1, loc), (L'.ERel 0, loc)), loc)), loc)), loc), | 531 (L'.EBinop ("==", (L'.ERel 1, loc), (L'.ERel 0, loc)), loc)), loc)), loc), |
532 fm) | |
533 | L.EFfi ("Basis", "eq_bool") => | |
534 ((L'.EAbs ("x", (L'.TFfi ("Basis", "bool"), loc), | |
535 (L'.TFun ((L'.TFfi ("Basis", "bool"), loc), (L'.TFfi ("Basis", "bool"), loc)), loc), | |
536 (L'.EAbs ("y", (L'.TFfi ("Basis", "bool"), loc), | |
537 (L'.TFfi ("Basis", "bool"), loc), | |
538 (L'.EBinop ("==", (L'.ERel 1, loc), (L'.ERel 0, loc)), loc)), loc)), loc), | |
539 fm) | |
540 | L.EFfi ("Basis", "eq_string") => | |
541 ((L'.EAbs ("x", (L'.TFfi ("Basis", "string"), loc), | |
542 (L'.TFun ((L'.TFfi ("Basis", "string"), loc), (L'.TFfi ("Basis", "bool"), loc)), loc), | |
543 (L'.EAbs ("y", (L'.TFfi ("Basis", "string"), loc), | |
544 (L'.TFfi ("Basis", "bool"), loc), | |
545 (L'.EBinop ("!strcmp", (L'.ERel 1, loc), (L'.ERel 0, loc)), loc)), loc)), loc), | |
532 fm) | 546 fm) |
533 | 547 |
534 | L.ECApp ((L.EFfi ("Basis", "show"), _), t) => | 548 | L.ECApp ((L.EFfi ("Basis", "show"), _), t) => |
535 let | 549 let |
536 val t = monoType env t | 550 val t = monoType env t |