Mercurial > urweb
comparison src/explify.sml @ 42:b3fbbc6cb1e5
Elaborating 'where'
author | Adam Chlipala <adamc@hcoop.net> |
---|---|
date | Thu, 19 Jun 2008 16:35:40 -0400 |
parents | 1405d8c26790 |
children | a9f3ce2d1b9b |
comparison
equal
deleted
inserted
replaced
41:1405d8c26790 | 42:b3fbbc6cb1e5 |
---|---|
91 and explifySgn (sgn, loc) = | 91 and explifySgn (sgn, loc) = |
92 case sgn of | 92 case sgn of |
93 L.SgnConst sgis => (L'.SgnConst (map explifySgi sgis), loc) | 93 L.SgnConst sgis => (L'.SgnConst (map explifySgi sgis), loc) |
94 | L.SgnVar n => (L'.SgnVar n, loc) | 94 | L.SgnVar n => (L'.SgnVar n, loc) |
95 | L.SgnFun _ => raise Fail "Explify functor signature" | 95 | L.SgnFun _ => raise Fail "Explify functor signature" |
96 | L.SgnWhere _ => raise Fail "Explify where" | |
96 | L.SgnError => raise Fail ("explifySgn: SgnError at " ^ EM.spanToString loc) | 97 | L.SgnError => raise Fail ("explifySgn: SgnError at " ^ EM.spanToString loc) |
97 | 98 |
98 fun explifyDecl (d, loc : EM.span) = | 99 fun explifyDecl (d, loc : EM.span) = |
99 case d of | 100 case d of |
100 L.DCon (x, n, k, c) => (L'.DCon (x, n, explifyKind k, explifyCon c), loc) | 101 L.DCon (x, n, k, c) => (L'.DCon (x, n, explifyKind k, explifyCon c), loc) |