aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/elab_ops.sml
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adam@chlipala.net>2012-04-21 14:06:03 -0400
committerGravatar Adam Chlipala <adam@chlipala.net>2012-04-21 14:06:03 -0400
commitf87820a0554612aec1fc2965740febef3695b0bd (patch)
tree2100357cdeef6343ac689fdd9dc9543a56cb471d /src/elab_ops.sml
parent48bcb8af10e648f4b31ddf4b46e7700eb53d229c (diff)
Add another rule to simplify record concatenations for pretty-printing
Diffstat (limited to 'src/elab_ops.sml')
-rw-r--r--src/elab_ops.sml3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/elab_ops.sml b/src/elab_ops.sml
index dbefbe7d..1546feef 100644
--- a/src/elab_ops.sml
+++ b/src/elab_ops.sml
@@ -1,4 +1,4 @@
-(* Copyright (c) 2008, Adam Chlipala
+(* Copyright (c) 2008, 2012, Adam Chlipala
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -482,6 +482,7 @@ fun reduceCon env (cAll as (c, loc)) =
| ((CRecord (_, []), _), _) => c2
| ((CConcat (c11, c12), loc), _) => reduceCon env (CConcat (c11, (CConcat (c12, c2), loc)), loc)
| (_, (CRecord (_, []), _)) => c1
+ | ((CRecord (k, xcs1), loc), (CConcat ((CRecord (_, xcs2), _), c2'), _)) => (CConcat ((CRecord (k, xcs1 @ xcs2), loc), c2'), loc)
| _ => (CConcat (c1, c2), loc)
end
| CMap _ => cAll