diff src/reduce.sml @ 1122:85d194409b17

Reduce concatenations of the empty record; unpoly non-recursive functions
author Adam Chlipala <adamc@hcoop.net>
date Sun, 10 Jan 2010 13:44:22 -0500
parents 0657e5adc938
children 51e596feec37
line wrap: on
line diff
--- a/src/reduce.sml	Sun Jan 10 10:40:57 2010 -0500
+++ b/src/reduce.sml	Sun Jan 10 13:44:22 2010 -0500
@@ -291,6 +291,8 @@
                     case (#1 c1, #1 c2) of
                         (CRecord (k, xcs1), CRecord (_, xcs2)) =>
                         (CRecord (kind env k, xcs1 @ xcs2), loc)
+                      | (CRecord (_, []), _) => c2
+                      | (_, CRecord (_, [])) => c1
                       | _ => (CConcat (c1, c2), loc)
                 end
               | CMap (dom, ran) => (CMap (kind env dom, kind env ran), loc)