A clue to the answer is in your statement that you "feed that [maximum] into the next circle of recursion." Notice that you're not overwriting the value in the current call, you're creating a new value that you feed into the new call in the "next circle". So the old one isn't being overwritten at all.
Justin On Oct 22, 2016 3:15 PM, <[email protected]> wrote: > Hi, > > (I am still a newbie ... ) > > If I remember one rule of functional programming > correctly, it says: > Instead of changeing data - create new data. > > Suppose I have a list of list. Each "sublist" is > made of a greater amount (but identical count) of > exact numbers (integers). > > I want to process these data recursively and if > all is done I want to get back a list of numbers > (same count of numbers as in each sublist), which > represents the maximum of all numbers of that "position" > in all sublists. > > If I want to make this purely (may be inpractical) functional,.. > I see (as a newbie) the following problem. > From two numbers as input I have to build a maximum and > have to feed that into the next circle of recursion as > one of the numbers to compare. > Each time a new maximum is found I have to overwrite the > old one. > This contradicts the rule "Dont change data, create new one." > > How can I get out of this? > > Cheers > Meino > > > > > -- > You received this message because you are subscribed to the Google Groups > "Racket Users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.

