It's easy to fix fact 0:
Recursion=:1 :0
'`if else test next'=: m
[: if/@(else@{: _1} ])f. (, next@{:)^:(test@{:)^:99 f.
)
However, the problem with Fib is that the recursion concept I used expects
a different kind of gerund than the kind you implemented.
So I would either need to change the gerund or I would need to rebuild my
adverb based on the requirements of that example.
Also, as http://www.jsoftware.com/jwiki/Essays/Fibonacci%20Sequence points
out, there are a lot of ways of computing the fibonacci sequence.
I'm not sure which to prefer.
Thanks,
--
Raul
On Tue, Feb 25, 2014 at 12:09 PM, Jose Mario Quintana <
[email protected]> wrote:
> >simplicity. Simplicity is a virtue?
>
>
>
> On designing econometric models one of the best advised: "Keep it
> Sophisticatedly Simple." I think his advice also applies to programming;
> actually that is the primary reason why I prefer J versus other
> conventional programming languages and even to APL (at least the decade old
> versions of APL that I used to know). Moreover, writing only tacitly keeps
> the list of concepts simple in my mind.
>
>
>
> To stress the main point of my initial message; the case I am making for
> recursion without $: is, for instance, the fixed tacit (or otherwise)
> implementation of the adverb sna. The (atomic representation of the)
> Recursion adverb is an interesting testing argument taken by sna.
> Nevertheless,
> I posed the implementation of Recursion as a puzzle and yours and any other
> variants are very welcome.
>
>
>
> Recursion=:1 :0
>
> '`if else test next'=. m
>
> [: (if else^:(-.@test))/f. (, next@{:)^:(test@{:)^:_ f.
>
> )
>
>
>
> fact=. *`1:`*`<: Recursion
>
>
>
> fact 5
>
> 120
>
>
>
> So far so good. Unfortunately,
>
>
>
> fact 0
>
> 0
>
>
>
> Also,
>
>
>
> Fib=. >&1`(i.@>:)`(] , +/@(_2&{.)@])`<: Recursion
>
>
>
> Fib 7
>
> |domain error: Fib
>
> | Fib 7
>
> |[-15]
>
>
>
> Can you fix your interesting (primitive recursive) version?
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
>
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm