Mercurial > urweb
diff src/elaborate.sml @ 48:0a5c312de09a
Start of FFI
author | Adam Chlipala <adamc@hcoop.net> |
---|---|
date | Sun, 22 Jun 2008 09:27:29 -0400 |
parents | 44a1bc863f0f |
children | d3cc191cb25f |
line wrap: on
line diff
--- a/src/elaborate.sml Thu Jun 19 18:13:33 2008 -0400 +++ b/src/elaborate.sml Sun Jun 22 09:27:29 2008 -0400 @@ -1160,6 +1160,7 @@ | L'.DVal (x, n, t, _) => SOME (L'.SgiVal (x, n, t), loc) | L'.DSgn _ => NONE | L'.DStr (x, n, sgn, _) => SOME (L'.SgiStr (x, n, sgn), loc) + | L'.DFfiStr (x, n, sgn) => SOME (L'.SgiStr (x, n, sgn), loc) fun subSgn env sgn1 (sgn2 as (_, loc2)) = case (#1 (hnormSgn env sgn1), #1 (hnormSgn env sgn2)) of @@ -1403,6 +1404,15 @@ ((L'.DStr (x, n, sgn', str'), loc), env') end + + | L.DFfiStr (x, sgn) => + let + val sgn' = elabSgn env sgn + + val (env', n) = E.pushStrNamed env x sgn' + in + ((L'.DFfiStr (x, n, sgn'), loc), env') + end end and elabStr env (str, loc) =