Re: [polyml] Different behaviors between SML/NJ and Poly/ML in a code from 'The Little MLer'

2017-07-06 Thread Roní Gonçalves
Ok, thank you all for the replies ;-) 2017-07-05 15:27 GMT-03:00 Makarius : > On 05/07/17 18:57, Roní Gonçalves wrote: > > > > In Fedora 25 I am stuck with Poly/ML 5.6 as well as in Ubuntu 16.04. > > Fortunately, in Fedora 26, there will be Poly/ML 5.7 > > It is actually

Re: [polyml] Different behaviors between SML/NJ and Poly/ML in a code from 'The Little MLer'

2017-07-05 Thread Rob Arthan
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

Re: [polyml] Different behaviors between SML/NJ and Poly/ML in a code from 'The Little MLer'

2017-07-05 Thread David Matthews
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

Re: [polyml] Different behaviors between SML/NJ and Poly/ML in a code from 'The Little MLer'

2017-07-05 Thread Roní Gonçalves
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