diff src/explify.sml @ 124:541282b81454

Explifying (non-mutual) 'val rec'
author Adam Chlipala <adamc@hcoop.net>
date Thu, 17 Jul 2008 10:13:18 -0400
parents e3041657d653
children 7420fa18d657
line wrap: on
line diff
--- a/src/explify.sml	Thu Jul 17 10:09:34 2008 -0400
+++ b/src/explify.sml	Thu Jul 17 10:13:18 2008 -0400
@@ -111,7 +111,7 @@
     case d of
         L.DCon (x, n, k, c) => SOME (L'.DCon (x, n, explifyKind k, explifyCon c), loc)
       | L.DVal (x, n, t, e) => SOME (L'.DVal (x, n, explifyCon t, explifyExp e), loc)
-      | L.DValRec _ => raise Fail "Expliofy DValRec"
+      | L.DValRec vis => SOME (L'.DValRec (map (fn (x, n, t, e) => (x, n, explifyCon t, explifyExp e)) vis), loc)
 
       | L.DSgn (x, n, sgn) => SOME (L'.DSgn (x, n, explifySgn sgn), loc)
       | L.DStr (x, n, sgn, str) => SOME (L'.DStr (x, n, explifySgn sgn, explifyStr str), loc)