comparison src/monoize.sml @ 167:2be573fec9a6

Unurlifying a datatype; longjmp-based error signaling mechanism
author Adam Chlipala <adamc@hcoop.net>
date Tue, 29 Jul 2008 15:25:42 -0400
parents 6847741e1f5f
children 25b169416ea8
comparison
equal deleted inserted replaced
166:a991431b77eb 167:2be573fec9a6
113 L'.TFfi ("Basis", "string") => (L'.EFfiApp ("Basis", name ^ "ifyString", [e]), loc) 113 L'.TFfi ("Basis", "string") => (L'.EFfiApp ("Basis", name ^ "ifyString", [e]), loc)
114 | L'.TFfi ("Basis", "int") => (L'.EFfiApp ("Basis", name ^ "ifyInt", [e]), loc) 114 | L'.TFfi ("Basis", "int") => (L'.EFfiApp ("Basis", name ^ "ifyInt", [e]), loc)
115 | L'.TFfi ("Basis", "float") => (L'.EFfiApp ("Basis", name ^ "ifyFloat", [e]), loc) 115 | L'.TFfi ("Basis", "float") => (L'.EFfiApp ("Basis", name ^ "ifyFloat", [e]), loc)
116 | L'.TRecord [] => (L'.EPrim (Prim.String ""), loc) 116 | L'.TRecord [] => (L'.EPrim (Prim.String ""), loc)
117 117
118 | L'.TNamed _ => (L'.EPrim (Prim.String ""), loc) 118 | L'.TNamed _ => (L'.EPrim (Prim.String "A"), loc)
119 119
120 | _ => (E.errorAt loc "Don't know how to encode attribute type"; 120 | _ => (E.errorAt loc "Don't know how to encode attribute type";
121 Print.eprefaces' [("Type", MonoPrint.p_typ MonoEnv.empty tAll)]; 121 Print.eprefaces' [("Type", MonoPrint.p_typ MonoEnv.empty tAll)];
122 dummyExp) 122 dummyExp)
123 in 123 in