diff options
author | 2010-01-10 13:44:22 -0500 | |
---|---|---|
committer | 2010-01-10 13:44:22 -0500 | |
commit | bdcf695651fbeff603d6f1c061b410c0cb733dcb (patch) | |
tree | 3519220c69228ad1cd9aba3c3e1096daf7eb1a58 /src/reduce.sml | |
parent | b9fd5b30dab83e12206e4b260e1ea775da7cedde (diff) |
Reduce concatenations of the empty record; unpoly non-recursive functions
Diffstat (limited to 'src/reduce.sml')
-rw-r--r-- | src/reduce.sml | 2 |
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) |