diff src/cjr.sml @ 181:31dfab1d4050

Cjrize ECon
author Adam Chlipala <adamc@hcoop.net>
date Sun, 03 Aug 2008 11:17:33 -0400
parents 25b169416ea8
children d11754ffe252
line wrap: on
line diff
--- a/src/cjr.sml	Sun Aug 03 11:03:35 2008 -0400
+++ b/src/cjr.sml	Sun Aug 03 11:17:33 2008 -0400
@@ -38,10 +38,24 @@
 
 withtype typ = typ' located
 
+datatype patCon =
+         PConVar of int
+       | PConFfi of string * string
+
+datatype pat' =
+         PWild
+       | PVar of string
+       | PPrim of Prim.t
+       | PCon of patCon * pat option
+       | PRecord of (string * pat) list
+
+withtype pat = pat' located
+
 datatype exp' =
          EPrim of Prim.t
        | ERel of int
        | ENamed of int
+       | ECon of int * exp option
        | EFfi of string * string
        | EFfiApp of string * string * exp list
        | EApp of exp * exp
@@ -49,6 +63,8 @@
        | ERecord of int * (string * exp) list
        | EField of exp * string
 
+       | ECase of exp * (pat * exp) list * typ
+
        | EWrite of exp
        | ESeq of exp * exp