comparison src/monoize.sml @ 575:9f02f1765149

Starting to implement source set
author Adam Chlipala <adamc@hcoop.net>
date Tue, 30 Dec 2008 09:43:41 -0500
parents ac947e2f29ff
children 3d56940120b1
comparison
equal deleted inserted replaced
574:ac947e2f29ff 575:9f02f1765149
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'.ERel 1, loc)]), loc)), loc)), 978 (L'.EFfiApp ("Basis", "new_client_source", [(L'.ERel 1, loc)]), loc)), loc)),
979 loc), 979 loc),
980 fm)
981 end
982 | L.ECApp ((L.EFfi ("Basis", "set"), _), t) =>
983 let
984 val t = monoType env t
985 in
986 ((L'.EAbs ("src", (L'.TFfi ("Basis", "int"), loc),
987 (L'.TFun (t, (L'.TFun ((L'.TRecord [], loc), (L'.TRecord [], loc)), loc)), loc),
988 (L'.EAbs ("v", t, (L'.TFun ((L'.TRecord [], loc), (L'.TRecord [], loc)), loc),
989 (L'.EAbs ("_", (L'.TRecord [], loc), (L'.TRecord [], loc),
990 (L'.EFfiApp ("Basis", "set_client_source",
991 [(L'.ERel 2, loc), (L'.ERel 1, loc)]),
992 loc)), loc)), loc)), loc),
980 fm) 993 fm)
981 end 994 end
982 995
983 | L.EApp ((L.ECApp ((L.ECApp ((L.EFfi ("Basis", "return"), _), _), _), t), _), 996 | L.EApp ((L.ECApp ((L.ECApp ((L.EFfi ("Basis", "return"), _), _), _), t), _),
984 (L.EFfi ("Basis", "signal_monad"), _)) => 997 (L.EFfi ("Basis", "signal_monad"), _)) =>