diff src/monoize.sml @ 94:40d146f467c5

Monoizing cdata
author Adam Chlipala <adamc@hcoop.net>
date Thu, 03 Jul 2008 17:39:17 -0400
parents 275aaeb73f1f
children 274116d1a4cd
line wrap: on
line diff
--- a/src/monoize.sml	Thu Jul 03 17:14:35 2008 -0400
+++ b/src/monoize.sml	Thu Jul 03 17:39:17 2008 -0400
@@ -61,6 +61,8 @@
             (L'.TRecord (map (fn (x, t) => (monoName env x, monoType env t)) xcs), loc)
           | L.TRecord _ => poly ()
 
+          | L.CApp ((L.CFfi ("Basis", "xml"), _), _) => (L'.TFfi ("Basis", "string"), loc)
+
           | L.CRel _ => poly ()
           | L.CNamed n => (L'.TNamed n, loc)
           | L.CFfi mx => (L'.TFfi mx, loc)
@@ -90,6 +92,10 @@
           | L.ENamed n => (L'.ENamed n, loc)
           | L.EFfi mx => (L'.EFfi mx, loc)
           | L.EFfiApp (m, x, es) => (L'.EFfiApp (m, x, map (monoExp env) es), loc)
+
+          | L.EApp ((L.ECApp ((L.EFfi ("Basis", "cdata"), _),
+                              _), _), se) => monoExp env se
+
           | L.EApp (e1, e2) => (L'.EApp (monoExp env e1, monoExp env e2), loc)
           | L.EAbs (x, dom, ran, e) =>
             (L'.EAbs (x, monoType env dom, monoType env ran, monoExp (Env.pushERel env x dom) e), loc)