I think I badly explained myself, or maybe i completely misunderstood the code:
> next=.5&(0 3 + *) the verb next simply applies the "multiply by five and add 3" to is right argument a number of times given by is left argument, right? > (i. 20) next 1 0 this instruction, first applies 0 times "next" to 1 0, then applies once "next" to 1 0, then applies twice "next" to 1 0, ... , then applies 20 times "next" to 1 0, right? this mean that S(0) has been calculated 20 times, S(1) has been calculated 19 times, S(n) has been calculated 20-n times since every time the function next restarts from the first term (which is 1 0), right? What i mean is that with something like the following pseudo-code S(n) is calculated once avoiding a huge waste of time and memory: S(1)=1 0 for i=2 to 20 do S(i)=.3+5*S(i-1) end My question then was if the code: > next=.0 3+*&5 > 20 next@]^:(i.@[) 1 0 has the same problem or not and, in case of a positive answer, how can i translate my pseudo-code in J avoiding an explicit loop. It may be that I completely misunderstood your code and the problem that is worring me doesn't exist at all but I'm really a beginner in J... Alessandro ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm