Dear All,
I am trying re-use some demo code that I wrote some years ago and am getting different output from what I previously got.
A cut-down version of the code is as follows:
local
datatype THEOREM = D of (int * int);
in
type THEOREM = THEOREM;
infix D;
fun axiom m = if m <> 0 then m D m else raise NOT_ALLOWED;
end;
axiom 1;
The output I used to get was:
infix 0 D
eqtype THEOREM
val axiom = fn: int -> THEOREM
val it = 1 D 1: THEOREM
The output I now get is:
infix 0 D
eqtype THEOREM
val axiom = fn: int -> THEOREM
val it = D (1, 1): THEOREM
Can I do something to persuade the pretty-printer to use infix notation for the constructor D?
(In a real application, I would install my own pretty-printer for the type THEOREM, but that
would be an annoying distraction in the talk that the demo code accompanies.)
Regards,
Rob.