Roní,
If you don’t want to upgrade to version 5.7, you can work around the problem
like this:
val oldMaxInlineSize = !PolyML.Compiler.maxInlineSize;
val _ = PolyML.Compiler.maxInlineSize := 1;
fun ints(n) = Link(n + 1, ints);
val _ = PolyML.Compiler.maxInlineSize := oldMaxInlineSize;
Aside to
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
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
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