comparison src/explify.sml @ 2190:22117edf8fd3

After a tricky debugging session, limit visibility of type-class instances from anonymous modules
author Adam Chlipala <adam@chlipala.net>
date Sun, 01 Nov 2015 16:33:14 -0500
parents 403f0cc65b9c
children
comparison
equal deleted inserted replaced
2189:43393a4a66ce 2190:22117edf8fd3
148 (x, n, Option.map explifyCon co)) xncs)) dts), loc) 148 (x, n, Option.map explifyCon co)) xncs)) dts), loc)
149 | L.SgiDatatypeImp (x, n, m1, ms, s, xs, xncs) => 149 | L.SgiDatatypeImp (x, n, m1, ms, s, xs, xncs) =>
150 SOME (L'.SgiDatatypeImp (x, n, m1, ms, s, xs, map (fn (x, n, co) => 150 SOME (L'.SgiDatatypeImp (x, n, m1, ms, s, xs, map (fn (x, n, co) =>
151 (x, n, Option.map explifyCon co)) xncs), loc) 151 (x, n, Option.map explifyCon co)) xncs), loc)
152 | L.SgiVal (x, n, c) => SOME (L'.SgiVal (x, n, explifyCon c), loc) 152 | L.SgiVal (x, n, c) => SOME (L'.SgiVal (x, n, explifyCon c), loc)
153 | L.SgiStr (x, n, sgn) => SOME (L'.SgiStr (x, n, explifySgn sgn), loc) 153 | L.SgiStr (_, x, n, sgn) => SOME (L'.SgiStr (x, n, explifySgn sgn), loc)
154 | L.SgiSgn (x, n, sgn) => SOME (L'.SgiSgn (x, n, explifySgn sgn), loc) 154 | L.SgiSgn (x, n, sgn) => SOME (L'.SgiSgn (x, n, explifySgn sgn), loc)
155 | L.SgiConstraint _ => NONE 155 | L.SgiConstraint _ => NONE
156 | L.SgiClassAbs (x, n, k) => SOME (L'.SgiConAbs (x, n, (L'.KArrow (explifyKind k, (L'.KType, loc)), loc)), loc) 156 | L.SgiClassAbs (x, n, k) => SOME (L'.SgiConAbs (x, n, (L'.KArrow (explifyKind k, (L'.KType, loc)), loc)), loc)
157 | L.SgiClass (x, n, k, c) => SOME (L'.SgiCon (x, n, (L'.KArrow (explifyKind k, (L'.KType, loc)), loc), 157 | L.SgiClass (x, n, k, c) => SOME (L'.SgiCon (x, n, (L'.KArrow (explifyKind k, (L'.KType, loc)), loc),
158 explifyCon c), loc) 158 explifyCon c), loc)