RosettaCodeData/Task/Ackermann-function/Dc/ackermann-function.dc

24 lines
484 B
Plaintext

[ # todo: n 0 -- n+1 and break 2 levels
+ 1 + # n+1
q
] s1
[ # todo: m 0 -- A(m-1,1) and break 2 levels
+ 1 - # m-1
1 # m-1 1
lA x # A(m-1,1)
q
] s2
[ # todo: m n -- A(m,n)
r d 0=1 # n m(!=0)
r d 0=2 # m(!=0) n(!=0)
Sn # m(!=0)
d 1 - r # m-1 m
Ln 1 - # m-1 m n-1
lA x # m-1 A(m,n-1)
lA x # A(m-1,A(m,n-1))
] sA
3 9 lA x f