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)