RosettaCodeData/Task/Man-or-boy-test/Aime/man-or-boy-test.aime
2023-07-01 13:44:08 -04:00

52 lines
558 B
Text

integer
F(list l)
{
l[1];
}
integer
eval(list l)
{
l[0](l);
}
integer A(list);
integer
B(list l)
{
A(list(B, l[1] = l[1] - 1, l, l[-5], l[-4], l[-3], l[-2]));
}
integer
A(list l)
{
integer x;
if (l[1] < 1) {
x = eval(l[-2]) + eval(l[-1]);
} else {
x = B(l);
}
x;
}
integer
main(void)
{
list f1, f0, fn1;
l_append(f1, F);
l_append(f1, 1);
l_append(f0, F);
l_append(f0, 0);
l_append(fn1, F);
l_append(fn1, -1);
o_(A(list(B, 10, f1, fn1, fn1, f1, f0)), "\n");
0;
}