Mercurial > urweb
comparison src/monoize.sml @ 422:0ce90d4d9ae7
Crud2 demo
author | Adam Chlipala <adamc@hcoop.net> |
---|---|
date | Thu, 23 Oct 2008 18:45:10 -0400 |
parents | e0e9e9eca1cb |
children | 024478c34f4d |
comparison
equal
deleted
inserted
replaced
421:0767d7ad0c3a | 422:0ce90d4d9ae7 |
---|---|
595 (L'.TFun ((L'.TFfi ("Basis", "string"), loc), (L'.TFfi ("Basis", "bool"), loc)), loc), | 595 (L'.TFun ((L'.TFfi ("Basis", "string"), loc), (L'.TFfi ("Basis", "bool"), loc)), loc), |
596 (L'.EAbs ("y", (L'.TFfi ("Basis", "string"), loc), | 596 (L'.EAbs ("y", (L'.TFfi ("Basis", "string"), loc), |
597 (L'.TFfi ("Basis", "bool"), loc), | 597 (L'.TFfi ("Basis", "bool"), loc), |
598 (L'.EBinop ("!strcmp", (L'.ERel 1, loc), (L'.ERel 0, loc)), loc)), loc)), loc), | 598 (L'.EBinop ("!strcmp", (L'.ERel 1, loc), (L'.ERel 0, loc)), loc)), loc)), loc), |
599 fm) | 599 fm) |
600 | L.ECApp ((L.EFfi ("Basis", "mkEq"), _), t) => | |
601 let | |
602 val t = monoType env t | |
603 val b = (L'.TFfi ("Basis", "bool"), loc) | |
604 val dom = (L'.TFun (t, (L'.TFun (t, b), loc)), loc) | |
605 in | |
606 ((L'.EAbs ("f", dom, dom, | |
607 (L'.ERel 0, loc)), loc), fm) | |
608 end | |
600 | 609 |
601 | L.ECApp ((L.EFfi ("Basis", "zero"), _), t) => | 610 | L.ECApp ((L.EFfi ("Basis", "zero"), _), t) => |
602 let | 611 let |
603 val t = monoType env t | 612 val t = monoType env t |
604 in | 613 in |