I think you must be using an older version of Poly/ML. There was a bug in 5.6 and earlier versions that caused the optimiser to loop but that has been fixed in the current version, 5.7.

Regards,
David

On 04/07/2017 17:40, Roní Gonçalves wrote:
Actually, I have mistyped the definition of chain before. I am sorry. The
definitions are:

datatype chain = Link of int * (int -> chain);
fun ints(n) = Link(n + 1, ints);

And for these definitions, Poly/ML does not work, but SML/NJ does.

Best regards,

Roní Gonçalves.

2017-07-04 13:37 GMT-03:00 Roní Gonçalves <[email protected]>:

Hello, everyone!

I am reading The Little MLer from Matthias Felleisen and Daniel Friedman
using Poly/ML interpreter.

In chapter 7, whe have some sort of stream implementation:

datatype chain = Link of datatype chain = Link of int * (int -> chain);
fun ints(n) = Link(n + 1, ints);

When I try to define the function ints in Poly/ML 5.6 interpreter, it does
not work, it runs forever. But when I write the same code in SML/NJ v110.78
interpreter, things work. Is this difference in their behaviors a bug or is
it normal or expected?

Best regards,

Roní Gonçalves.




_______________________________________________
polyml mailing list
[email protected]
http://lists.inf.ed.ac.uk/mailman/listinfo/polyml

_______________________________________________
polyml mailing list
[email protected]
http://lists.inf.ed.ac.uk/mailman/listinfo/polyml

Reply via email to