(I thought I sent this message, this morning, but I see that it has not yet
been sent. I have been having this happen a lot recently. I have a hunch
about what is happening, but for now I'll just note that I am having this
issue, and I apologize if it seems I am ignoring anyone.)

--------------------------------------------------------

Maybe like this:

trampoline=:3 :0
   try.
      while. 1 do.
         y=. y`:6''
      end.
   catch.
      y
   end.
)

peano=:4 :0
  if. 0=y do. x return. end.
  op=. <@,&<
  noun=. '0' op ]
  const=. '"' op (noun _),~ noun
  (const x+1)`peano`(const y-1)
)

Note that if you instead define op, noun and const globally you should
rename 'noun' so it does not conflict with the existing definition for that
name.

op is a utility gerund construction mechanism.
noun constructs a noun gerund from a value
const constructs a constant verb gerund from a value

I hope that's clear enough?

Thanks,

-- 
Raul



On Tue, Aug 26, 2014 at 6:10 AM, Joe Bogner <[email protected]> wrote:

> On Mon, Aug 25, 2014 at 9:51 PM, Raul Miller <[email protected]>
> wrote:
> >
> http://www.integralist.co.uk/posts/understanding-recursion-in-functional-javascript-programming/#the-solution
> > looks like it is describing this:
> >
> > trampoline=:3 :0
> >    try.
> >       while. 1 do.
> >          y=. y`:6''
> >       end.
> >    catch.
> >       y
> >    end.
> > )
> >
>
> The linked url includes a sum function that is applied against the
> trampoline. How would that be done in J? I tried some things and could
> not figure out how to bind the x/y to the gerund, which is what I
> assumed I needed to do
>
> Don't run this code as it will crash J
>
> trampoline=:3 :0
>    try.
>       while. 1 do.
>          y=. y`:6''
>       end.
>    catch.
>       y
>    end.
> )
>
> NB. warning, crashes J
> recur=: 4 : 0
>   if. y > 0
>     do. trampoline recur&(y+1)`''
>     else. x
>   end.
> )
>
> sum=: 4 : 0
>     trampoline (x recur y)
> )
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
>
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to