demo
[cc1516.git] / examples / peano.spl
1 hyper(n, a, b){
2 if(n == 0){ return b + 1;
3 } else { if(b == 0 && n == 1){ return a;
4 } else { if(b == 0 && n == 2){ return 0;
5 } else { if(b == 0 && n >= 3){ return 1;
6 } else { return hyper(n-1, a, hyper(n, a, b - 1));
7 }}}}
8 }
9
10 main(){
11 var plus = hyper(2);
12 var times = hyper(3);
13 var power = hyper(4);
14 var arrow = hyper(5);
15
16 print("2 + 4 = ", plus(2, 4));
17 print("2 * 4 = ", times(2, 4));
18 print("2 ^ 4 = ", power(2, 4));
19 print("3 | 2 = ", arrow(3, 2));
20 }