aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/reduce.sml
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adamc@hcoop.net>2008-08-16 15:09:53 -0400
committerGravatar Adam Chlipala <adamc@hcoop.net>2008-08-16 15:09:53 -0400
commit62c0731399525d736de1c4e303c1abd1677a8d0c (patch)
tree4c9288ddb1fba9991f128d3f6569c0382303dc72 /src/reduce.sml
parent6cac02596e21666de5658f83957d3fa7d7b60a8c (diff)
Compiling a con-tuple-using test case
Diffstat (limited to 'src/reduce.sml')
-rw-r--r--src/reduce.sml3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/reduce.sml b/src/reduce.sml
index c2359c26..e8d51da7 100644
--- a/src/reduce.sml
+++ b/src/reduce.sml
@@ -123,6 +123,9 @@ fun con env c =
(_, _, SOME c') => #1 c'
| _ => c)
| CConcat ((CRecord (k, xcs1), loc), (CRecord (_, xcs2), _)) => CRecord (k, xcs1 @ xcs2)
+
+ | CProj ((CTuple cs, _), n) => #1 (List.nth (cs, n - 1))
+
| _ => c
and reduceCon env = U.Con.mapB {kind = kind, con = con, bind = bindC} env