bug-apl
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Bug-apl] Recursive Lambda


From: Juergen Sauermann
Subject: Re: [Bug-apl] Recursive Lambda
Date: Tue, 05 Jul 2016 20:07:05 +0200
User-agent: Mozilla/5.0 (X11; Linux i686; rv:31.0) Gecko/20100101 Thunderbird/31.4.0

Hi Xtian,

but a little too complex for my taste (note that fac 0 behaves differently though not unreasonably) :

      fac←{⍵×⍎((⍵>2)/'fac ⍵-'),'1'}   
      fac 10
3628800


/// Jürgen


On 07/05/2016 07:43 AM, Christian Robert wrote:
I was under the impression that recursive controlled Lambda was near impossible to write.

here an example for factorial:


      fact←{⍎↑(⍵>2)↓⌽ '⍵ × fact ⍵-1' '1⌈⍵'}

      fact 10
3628800
      fact 2
2
      fact 1
1
      fact 0
1
      fact 14
87178291200
      !14
87178291200


This IDIOM, from the 80's, can do that. What is in (...) is the condition and it will execute
the first statement if true, else the second one.

for your eyes,

Xtian.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]