diff src/cjrize.sml @ 288:4260ad920c36

Converting string to int
author Adam Chlipala <adamc@hcoop.net>
date Sun, 07 Sep 2008 11:33:13 -0400
parents c0e4ac23522d
children df00701f2323
line wrap: on
line diff
--- a/src/cjrize.sml	Sun Sep 07 10:52:51 2008 -0400
+++ b/src/cjrize.sml	Sun Sep 07 11:33:13 2008 -0400
@@ -111,6 +111,12 @@
                          ((L'.TDatatype (dk, n, r), loc), sm)
                      end)
               | L.TFfi mx => ((L'.TFfi mx, loc), sm)
+              | L.TOption t =>
+                let
+                    val (t, sm) = cify dtmap (t, sm)
+                in
+                    ((L'.TOption t, loc), sm)
+                end
     in
         cify IM.empty x
     end
@@ -170,6 +176,20 @@
         in
             ((L'.PRecord xps, loc), sm)
         end
+      | L.PNone t =>
+        let
+            val (t, sm) = cifyTyp (t, sm)
+        in
+            ((L'.PNone t, loc), sm)
+        end
+      | L.PSome (t, p) =>
+        let
+            val (t, sm) = cifyTyp (t, sm)
+            val (p, sm) = cifyPat (p, sm)
+        in
+            ((L'.PSome (t, p), loc), sm)
+        end
+
 
 fun cifyExp (eAll as (e, loc), sm) =
     case e of