Sorry, bad url, here is the Fibonacci Sequence url http://www.jsoftware.com/jwiki/Essays/Fibonacci%20Sequence
Kip Sent from my iPad On Feb 11, 2013, at 7:54 AM, km <[email protected]> wrote: > This essay Fibonacci Sequence by Roger gives examples of double recursion and > single recursion > > http://www.jsoftware.com/docs/help701/dictionary/dmcapdot.htm > > Kip Murray > > Sent from my iPad > > > On Feb 11, 2013, at 7:40 AM, Don Guinn <[email protected]> wrote: > >> Also, the x and y in explicit definitions are local names so are unique >> from x and y of a calling explicit definition. That includes recursion. >> >> On Mon, Feb 11, 2013 at 6:31 AM, km <[email protected]> wrote: >> >>> Perhaps this Vocabulary entry for Memo M. will help >>> >>> http://www.jsoftware.com/docs/help701/dictionary/dmcapdot.htm >>> >>> There is also Self Reference $: >>> >>> http://www.jsoftware.com/docs/help701/dictionary/dmcapdot.htm >>> >>> Kip Murray >>> >>> Sent from my iPad >>> >>> >>> On Feb 11, 2013, at 7:04 AM, Alex Giannakopoulos <[email protected]> >>> wrote: >>> >>>> Are there any resources on recursive programming in J? Couldn't find >>> much >>>> by searching. >>>> I would particularly like to know about scoping, and also so-called free >>>> variables. >>>> >>>> It seems to me that the enforced naming of variables as 'x' and 'y' might >>>> cause problems in nested functions, necessitating awkward renaming and >>>> copying. >>>> >>>> I will give a little example here (my apologies to those unfamiliar with >>>> Scheme.) >>>> I am trying to write a routine that will return ALL the factors of a >>>> number, not just the prime ones. >>>> I do this by using an auxiliary routine that takes the number to factor >>> and >>>> a list of numbers still to combine. >>>> >>>> ;; function (unique numlist) corresponds to J's ~. >>>> ;; function (remel alist elem) corresponds to J's [ }.~ [: >: i. >>>> ;; function (primefactors n) corresponds to J's q: >>>> >>>> (define (allfactors n) (af n (primefators n)) >>>> >>>> (define (af num divisors) >>>> (if (null? divisors) (list num) >>>> (let ((uniquefactors (unique divisors))) >>>> (flatten >>>> (cons num >>>> (map (lambda(x) (af (/ num x) (remel divisors x))) >>>> uniquefactors)))))) >>>> >>>> Now I tried to express this in J, but can't even get to first base, >>> because >>>> of the scoping problems I mentioned. >>>> I realise that recursion is not the primary mode for programming J, and a >>>> good solution may instead use something like running totals (\), but for >>>> the time being I am stuck. >>>> Any suggestions gratefully received. >>>> ---------------------------------------------------------------------- >>>> For information about J forums see http://www.jsoftware.com/forums.htm >>> ---------------------------------------------------------------------- >>> For information about J forums see http://www.jsoftware.com/forums.htm >> ---------------------------------------------------------------------- >> For information about J forums see http://www.jsoftware.com/forums.htm > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
