diff options
author | Adam Chlipala <adam@chlipala.net> | 2013-08-19 12:25:32 -0400 |
---|---|---|
committer | Adam Chlipala <adam@chlipala.net> | 2013-08-19 12:25:32 -0400 |
commit | f718e640c3cbe6a891519364992117f49ca333fa (patch) | |
tree | b7581cc191267590b2ee407d91161bd2950e3604 /src/elab_util.sml | |
parent | 42fab45125992244c499ec5ac64e0376109bd4cb (diff) |
Allow [where con] to descend within submodule structure; open submodule constraints while checking later signature items
Diffstat (limited to 'src/elab_util.sml')
-rw-r--r-- | src/elab_util.sml | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/elab_util.sml b/src/elab_util.sml index 51bcba5a..60245585 100644 --- a/src/elab_util.sml +++ b/src/elab_util.sml @@ -759,12 +759,12 @@ fun mapfoldB {kind, con, sgn_item, sgn, bind} = fn s2' => (SgnFun (m, n, s1', s2'), loc))) | SgnProj _ => S.return2 sAll - | SgnWhere (sgn, x, c) => + | SgnWhere (sgn, ms, x, c) => S.bind2 (sg ctx sgn, fn sgn' => S.map2 (con ctx c, fn c' => - (SgnWhere (sgn', x, c'), loc))) + (SgnWhere (sgn', ms, x, c'), loc))) | SgnError => S.return2 sAll in sg @@ -1248,7 +1248,7 @@ and maxNameSgn (sgn, _) = SgnConst sgis => foldl (fn (sgi, count) => Int.max (maxNameSgi sgi, count)) 0 sgis | SgnVar n => n | SgnFun (_, n, dom, ran) => Int.max (n, Int.max (maxNameSgn dom, maxNameSgn ran)) - | SgnWhere (sgn, _, _) => maxNameSgn sgn + | SgnWhere (sgn, _, _, _) => maxNameSgn sgn | SgnProj (n, _, _) => n | SgnError => 0 |