Differences From Artifact [8a19e45bd42355a9]:
- File
sample/fib.pmy
- 2010-11-09 15:19:20 - part of checkin [68546f3e9f] on branch trunk - several samples (user: kinaba) [annotate]
To Artifact [5b2c3c452aca5b18]:
- File
sample/fib.pmy
- 2010-11-24 12:14:00 - part of checkin [3ae09b8cbf] on branch trunk - changed if-then-else syntax (user: kinaba) [annotate]
1 1 def fib(x)
2 2 {
3 - if( x < 2 ) { 1 }
4 - else { fib(x-1) + fib(x-2) }
3 + if x<2 then 1 else fib(x-1) + fib(x-2)
5 4 };
6 5
7 -let upto = λ(n, f){
8 - if( n > 0 ){ upto(n-1,f) };
6 +let upto = fun(n, f){
7 + if n > 0: upto(n-1,f);
9 8 f(n)
10 9 };
11 10
12 11 var compose = fun(f,g){ fun(x){f(g(x))} };
13 12 var "<<" = compose;
14 13
15 14 upto(16, print<<fib);