comparison src/monoize.sml @ 452:222cbc1da232

Fix some type-class detection
author Adam Chlipala <adamc@hcoop.net>
date Sat, 01 Nov 2008 17:19:12 -0400
parents 07f6576aeb0a
children 21bb5bbba2e9
comparison
equal deleted inserted replaced
451:1bd575eb2d1e 452:222cbc1da232
842 end 842 end
843 | L.EFfi ("Basis", "show_bool") => 843 | L.EFfi ("Basis", "show_bool") =>
844 ((L'.EFfi ("Basis", "boolToString"), loc), fm) 844 ((L'.EFfi ("Basis", "boolToString"), loc), fm)
845 | L.EFfi ("Basis", "show_time") => 845 | L.EFfi ("Basis", "show_time") =>
846 ((L'.EFfi ("Basis", "timeToString"), loc), fm) 846 ((L'.EFfi ("Basis", "timeToString"), loc), fm)
847 | L.ECApp ((L.EFfi ("Basis", "mkShow"), _), t) =>
848 let
849 val t = monoType env t
850 val b = (L'.TFfi ("Basis", "string"), loc)
851 val dom = (L'.TFun (t, b), loc)
852 in
853 ((L'.EAbs ("f", dom, dom,
854 (L'.ERel 0, loc)), loc), fm)
855 end
847 856
848 | L.ECApp ((L.EFfi ("Basis", "read"), _), t) => 857 | L.ECApp ((L.EFfi ("Basis", "read"), _), t) =>
849 let 858 let
850 val t = monoType env t 859 val t = monoType env t
851 val s = (L'.TFfi ("Basis", "string"), loc) 860 val s = (L'.TFfi ("Basis", "string"), loc)