diff options
author | 2008-10-23 18:45:10 -0400 | |
---|---|---|
committer | 2008-10-23 18:45:10 -0400 | |
commit | b887dcf43ab2e92d31eaead41398c639fe36edd5 (patch) | |
tree | 6d1b3b0450e7d90ffb86bc43ce2c479ba9b7c78f /src/monoize.sml | |
parent | a6eb484bd588045d401e61fed64fac553e0e3395 (diff) |
Crud2 demo
Diffstat (limited to 'src/monoize.sml')
-rw-r--r-- | src/monoize.sml | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/monoize.sml b/src/monoize.sml index 6a12306b..5fda4fa1 100644 --- a/src/monoize.sml +++ b/src/monoize.sml @@ -597,6 +597,15 @@ fun monoExp (env, st, fm) (all as (e, loc)) = (L'.TFfi ("Basis", "bool"), loc), (L'.EBinop ("!strcmp", (L'.ERel 1, loc), (L'.ERel 0, loc)), loc)), loc)), loc), fm) + | L.ECApp ((L.EFfi ("Basis", "mkEq"), _), t) => + let + val t = monoType env t + val b = (L'.TFfi ("Basis", "bool"), loc) + val dom = (L'.TFun (t, (L'.TFun (t, b), loc)), loc) + in + ((L'.EAbs ("f", dom, dom, + (L'.ERel 0, loc)), loc), fm) + end | L.ECApp ((L.EFfi ("Basis", "zero"), _), t) => let |