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
commit73b3f4158297d0161e1d18c24ff9a4604f07c32c (patch)
tree3519220c69228ad1cd9aba3c3e1096daf7eb1a58 /src/reduce.sml
parente5358b34831d7a333c5883873af65d0cbacf5524 (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)