Thanks for reporting that. I've committed a fix and included your example as a regression test. David
Makarius wrote:
Here is another thing that looks like a regression from Poly/ML 5.3.0.
datatype ('a, 'b) foo = Foo of 'a * 'b;
val _ = PolyML.addPrettyPrinter (fn depth => fn (pretty1, pretty2) => fn Foo (x, y) => PolyML.PrettyBlock (2, false, [], [PolyML.PrettyString "Foo", PolyML.PrettyBreak (1, 0), PolyML.PrettyString "(", pretty1 (x, depth - 1), PolyML.PrettyString ",", PolyML.PrettyBreak (1, 0), pretty2 (y, depth - 1), PolyML.PrettyString ")"]));
This crashes the RTS when trying to print Foo (1, "a") for example.
The same kind of code does work with a single type parameter, e.g. for datatype 'a bar = Bar of 'a
Makarius
polyml mailing list polyml@inf.ed.ac.uk http://lists.inf.ed.ac.uk/mailman/listinfo/polyml