1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114
|
infix 1 <! <@
infix 2 <!! <@@
infixr 1 !> @>
infixr 2 !!> @@>
infix 0 &
infix 9 &&
datatype ('a, 'b) t1 = & of 'a * 'b
datatype ('a, 'b) t2 = && of 'a * 'b
(* defines <! *)
local
fun x <! y = ()
in
val _ = op <!
end
(* error *)
local
fun x <! y z = ()
in
end
(* defines <! *)
local
fun (x <! y) = ()
in
val _ = op <!
end
(* defines <! *)
local
fun (x <! y) z = ()
in
val _ = op <!
end
(* error *)
local
fun <! <@ y = ()
in
end
(* error *)
local
fun <! <@ y z = ()
in
end
(* error *)
local
fun <! <@ y = ()
in
end
(* error *)
local
fun a <! <@ = ()
in
end
(* error *)
local
fun (a <! <@) = ()
in
end
(* defines <@ *)
local
fun op <! <@ y = ()
in
val _ = op <@
end
(* error *)
local
fun op <! <@ y z = ()
in
end
(* defines <@ *)
local
fun (op <! <@ y) z = ()
in
val _ = op <@
end
(* error *)
local
fun <! op <@ y = ()
in
end
(* error *)
local
fun (<! op <@ y) = ()
in
end
(* defines <@ *)
local
fun op <! op <@ y = ()
in
val _ = op <!
end
(* defines <@ *)
local
fun op <! op <@ y z = ()
in
val _ = op <!
end
|