Mercurial > urweb
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 |