summaryrefslogtreecommitdiff
path: root/src/reduce.sml
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adamc@hcoop.net>2010-01-10 13:44:22 -0500
committerGravatar Adam Chlipala <adamc@hcoop.net>2010-01-10 13:44:22 -0500
commitbdcf695651fbeff603d6f1c061b410c0cb733dcb (patch)
tree3519220c69228ad1cd9aba3c3e1096daf7eb1a58 /src/reduce.sml
parentb9fd5b30dab83e12206e4b260e1ea775da7cedde (diff)
Reduce concatenations of the empty record; unpoly non-recursive functions
Diffstat (limited to 'src/reduce.sml')
-rw-r--r--src/reduce.sml2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/reduce.sml b/src/reduce.sml
index 95b26da8..cc8ba0fd 100644
--- a/src/reduce.sml
+++ b/src/reduce.sml
@@ -291,6 +291,8 @@ fun kindConAndExp (namedC, namedE) =
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)