comparison src/elab_print.sml @ 1302:d008c4c43a0a

Flex kinds for type-level tuples; ::_ notation
author Adam Chlipala <adam@chlipala.net>
date Sun, 10 Oct 2010 13:07:38 -0400
parents b4480a56cab7
children c7b9a33c26c8
comparison
equal deleted inserted replaced
1301:4359e185d3af 1302:d008c4c43a0a
54 string ")"] 54 string ")"]
55 55
56 | KError => string "<ERROR>" 56 | KError => string "<ERROR>"
57 | KUnif (_, _, ref (SOME k)) => p_kind' par env k 57 | KUnif (_, _, ref (SOME k)) => p_kind' par env k
58 | KUnif (_, s, _) => string ("<UNIF:" ^ s ^ ">") 58 | KUnif (_, s, _) => string ("<UNIF:" ^ s ^ ">")
59 | KTupleUnif (_, _, ref (SOME k)) => p_kind' par env k
60 | KTupleUnif (_, nks, _) => box [string "(",
61 p_list_sep (box [space, string "*", space])
62 (fn (n, k) => box [string (Int.toString n ^ ":"),
63 space,
64 p_kind env k]) nks,
65 space,
66 string "*",
67 space,
68 string "...)"]
59 69
60 | KRel n => ((if !debug then 70 | KRel n => ((if !debug then
61 string (E.lookupKRel env n ^ "_" ^ Int.toString n) 71 string (E.lookupKRel env n ^ "_" ^ Int.toString n)
62 else 72 else
63 string (E.lookupKRel env n)) 73 string (E.lookupKRel env n))