comparison src/monoize.sml @ 574:ac947e2f29ff

Trivial use of a source
author Adam Chlipala <adamc@hcoop.net>
date Sun, 21 Dec 2008 12:56:39 -0500
parents 57018f21cd5c
children 9f02f1765149
comparison
equal deleted inserted replaced
572:57018f21cd5c 574:ac947e2f29ff
973 let 973 let
974 val t = monoType env t 974 val t = monoType env t
975 in 975 in
976 ((L'.EAbs ("x", t, (L'.TFun ((L'.TRecord [], loc), (L'.TFfi ("Basis", "int"), loc)), loc), 976 ((L'.EAbs ("x", t, (L'.TFun ((L'.TRecord [], loc), (L'.TFfi ("Basis", "int"), loc)), loc),
977 (L'.EAbs ("_", (L'.TRecord [], loc), (L'.TFfi ("Basis", "int"), loc), 977 (L'.EAbs ("_", (L'.TRecord [], loc), (L'.TFfi ("Basis", "int"), loc),
978 (L'.EFfiApp ("Basis", "new_client_source", [(L'.ERecord [], loc)]), loc)), loc)), 978 (L'.EFfiApp ("Basis", "new_client_source", [(L'.ERel 1, loc)]), loc)), loc)),
979 loc), 979 loc),
980 fm) 980 fm)
981 end 981 end
982 982
983 | L.EApp ((L.ECApp ((L.ECApp ((L.EFfi ("Basis", "return"), _), _), _), t), _), 983 | L.EApp ((L.ECApp ((L.ECApp ((L.EFfi ("Basis", "return"), _), _), _), t), _),
999 val mt2 = (L'.TSignal t2, loc) 999 val mt2 = (L'.TSignal t2, loc)
1000 in 1000 in
1001 ((L'.EAbs ("m1", mt1, (L'.TFun ((L'.TFun (t1, mt2), loc), mt2), loc), 1001 ((L'.EAbs ("m1", mt1, (L'.TFun ((L'.TFun (t1, mt2), loc), mt2), loc),
1002 (L'.EAbs ("m2", (L'.TFun (t1, mt2), loc), mt2, 1002 (L'.EAbs ("m2", (L'.TFun (t1, mt2), loc), mt2,
1003 (L'.ESignalBind ((L'.ERel 1, loc), (L'.ERel 0, loc)), loc)), loc)), loc), 1003 (L'.ESignalBind ((L'.ERel 1, loc), (L'.ERel 0, loc)), loc)), loc)), loc),
1004 fm)
1005 end
1006 | L.ECApp ((L.EFfi ("Basis", "signal"), _), t) =>
1007 let
1008 val t = monoType env t
1009 in
1010 ((L'.EAbs ("x", (L'.TFfi ("Basis", "int"), loc), (L'.TSignal t, loc),
1011 (L'.ESignalSource (L'.ERel 0, loc), loc)), loc),
1004 fm) 1012 fm)
1005 end 1013 end
1006 1014
1007 | L.ECApp ((L.EFfi ("Basis", "getCookie"), _), t) => 1015 | L.ECApp ((L.EFfi ("Basis", "getCookie"), _), t) =>
1008 let 1016 let