aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/cjr.sml
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adamc@hcoop.net>2008-08-03 12:43:20 -0400
committerGravatar Adam Chlipala <adamc@hcoop.net>2008-08-03 12:43:20 -0400
commit6314b4c27a14576b356258dad74607168135cb51 (patch)
treeec853f9102b3d3e5729457db7a10fd4f81165431 /src/cjr.sml
parent1798f5eb1b11613d88acb307472922976f1583b4 (diff)
Compiled pattern matching to C
Diffstat (limited to 'src/cjr.sml')
-rw-r--r--src/cjr.sml6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/cjr.sml b/src/cjr.sml
index eb035e40..4c9cf4c3 100644
--- a/src/cjr.sml
+++ b/src/cjr.sml
@@ -44,10 +44,10 @@ datatype patCon =
datatype pat' =
PWild
- | PVar of string
+ | PVar of string * typ
| PPrim of Prim.t
| PCon of patCon * pat option
- | PRecord of (string * pat) list
+ | PRecord of (string * pat * typ) list
withtype pat = pat' located
@@ -63,7 +63,7 @@ datatype exp' =
| ERecord of int * (string * exp) list
| EField of exp * string
- | ECase of exp * (pat * exp) list * typ
+ | ECase of exp * (pat * exp) list * { disc : typ, result : typ }
| EWrite of exp
| ESeq of exp * exp