comparison src/elab_print.sml @ 76:522f4bd3955e

Broaden unification context
author Adam Chlipala <adamc@hcoop.net>
date Sun, 29 Jun 2008 10:39:43 -0400
parents 0ee10f4d73cf
children b4f2a258e52c
comparison
equal deleted inserted replaced
75:88ffb3d61817 76:522f4bd3955e
48 p_kind k2]) 48 p_kind k2])
49 | KName => string "Name" 49 | KName => string "Name"
50 | KRecord k => box [string "{", p_kind k, string "}"] 50 | KRecord k => box [string "{", p_kind k, string "}"]
51 51
52 | KError => string "<ERROR>" 52 | KError => string "<ERROR>"
53 | KUnif (_, ref (SOME k)) => p_kind' par k 53 | KUnif (_, _, ref (SOME k)) => p_kind' par k
54 | KUnif (s, _) => string ("<UNIF:" ^ s ^ ">") 54 | KUnif (_, s, _) => string ("<UNIF:" ^ s ^ ">")
55 55
56 and p_kind k = p_kind' false k 56 and p_kind k = p_kind' false k
57 57
58 fun p_explicitness e = 58 fun p_explicitness e =
59 case e of 59 case e of
154 space, 154 space,
155 p_con env c2]) 155 p_con env c2])
156 | CFold _ => string "fold" 156 | CFold _ => string "fold"
157 157
158 | CError => string "<ERROR>" 158 | CError => string "<ERROR>"
159 | CUnif (_, _, ref (SOME c)) => p_con' par env c 159 | CUnif (_, _, _, ref (SOME c)) => p_con' par env c
160 | CUnif (k, s, _) => box [string ("<UNIF:" ^ s ^ "::"), 160 | CUnif (_, k, s, _) => box [string ("<UNIF:" ^ s ^ "::"),
161 p_kind k, 161 p_kind k,
162 string ">"] 162 string ">"]
163 163
164 and p_con env = p_con' false env 164 and p_con env = p_con' false env
165 165
166 and p_name env (all as (c, _)) = 166 and p_name env (all as (c, _)) =
167 case c of 167 case c of