1. recursing quirk
- Posted by Matthew McNamara <mat at ICONZ.CO.NZ> Aug 25, 1998
- 448 views
-- euphoria version 1.5 -- there's a little quirk with recursing in euphoria, examine the -- logic in i_am_a_bug() and i_am_not_a_bug(), it appears the same -- yet executes differently -- easy to work-around, but interesting to know procedure debug(object parameter1, object parameter2) puts(1, "Parameter 1 is ") if atom(parameter1) then puts(1, "an atom.") else puts(1, "a sequence.") end if puts(1, " Parameter 2 is ") if atom(parameter2) then puts(1, "an atom.") else puts(1, "a sequence.") end if puts(1, "\n") end procedure procedure i_am_a_bug(object tom, object jerry) debug(tom, jerry) if atom(tom) and sequence(jerry) then i_am_a_bug(jerry, tom) --lets swap and recurse end if end procedure procedure i_am_not_a_bug(object tom, object jerry) object tom2, jerry2 debug(tom, jerry) if atom(tom) and sequence(jerry) then tom2 = tom jerry2 = jerry i_am_not_a_bug(jerry2, tom2) --lets use private variables instead end if end procedure i_am_not_a_bug(1, {1}) puts(1, "looks ok to me, parameters have swapped\n") i_am_a_bug(1, {1}) puts(1, "my my, I now have two copies of parameter2\n") Matthew McNamara _ mat at iconz.co.nz o( ) The Internet Company of New Zealand / /\
2. Re: recursing quirk
- Posted by Hawke <mdeland at NWINFO.NET> Aug 25, 1998
- 428 views
Matthew McNamara wrote: >there's a little quirk with recursing in euphoria, examine the >logic in i_am_a_bug() and i_am_not_a_bug(), it appears the same >yet executes differently recursion was nevah my strong point (show me someone who says their strong point is recursion and i'll show you someone who has STACKS=9e1000,256e10000 in their config.sys) but i ran your program and got the following output: ----begin paste Parameter 1 is an atom. Parameter 2 is a sequence. Parameter 1 is a sequence. Parameter 2 is an atom. looks ok to me, parameters have swapped Parameter 1 is an atom. Parameter 2 is a sequence. Parameter 1 is a sequence. Parameter 2 is an atom. my my, I now have two copies of parameter2 ----end paste now this was run with euph 2.0 and i dont see a problem?!?! it's very much granted that i may not know what i'm looking at here... also it may have been fixed in 2.0??? --eagerly awaiting enlightenment --Hawke'
3. Re: recursing quirk
- Posted by Matthew McNamara <mat at ICONZ.CO.NZ> Aug 26, 1998
- 444 views
On Tue, 25 Aug 1998, Hawke wrote: > Matthew McNamara wrote: > >there's a little quirk with recursing in euphoria, examine the > >logic in i_am_a_bug() and i_am_not_a_bug(), it appears the same > >yet executes differently > but i ran your program and got the following output: > ----begin paste > Parameter 1 is an atom. Parameter 2 is a sequence. > Parameter 1 is a sequence. Parameter 2 is an atom. > looks ok to me, parameters have swapped > Parameter 1 is an atom. Parameter 2 is a sequence. > Parameter 1 is a sequence. Parameter 2 is an atom. > my my, I now have two copies of parameter2 > ----end paste > now this was run with euph 2.0 and i dont see a problem?!?! > it's very much granted that i may not know what i'm looking > at here... also it may have been fixed in 2.0??? Looks like the problem does not occur in version 2.0, in version 1.5 the second to last line reads... Parameter 1 is a sequence. Parameter 2 is a sequence. Matthew McNamara _ mat at iconz.co.nz o( ) The Internet Company of New Zealand / /\
4. Re: recursing quirk
- Posted by Hawke <mdeland at NWINFO.NET> Aug 25, 1998
- 447 views
Matthew McNamara wrote: > Looks like the problem does not occur in version 2.0, in version > 1.5 the second to last line reads... > Parameter 1 is a sequence. Parameter 2 is a sequence. AH! now that output would be rapidly approaching the "errrrr that's not quite right" category... i must admit i was confused after reading your code and seeing the output given to me after running it... heh... couldnt see the problem, but now i do :) it wasnt creating another set of local variables! my brain can rest easy now :) tnx for pointing this out matthew... --Hawke'
5. Re: recursing quirk
- Posted by Robert Craig <rds at EMAIL.MSN.COM> Aug 25, 1998
- 440 views
The quirk reported today by Matthew McNamara was first reported by Jacques Deschenes a year ago. 1.5a and earlier contain the bug. 2.0 is ok. See doc\relnotes.doc Regards, Rob Craig Rapid Deployment Software http://members.aol.com/FilesEu/