﻿// Shouldn't support recursion!

// REVIEW: Should produce better error messages for recursion.
`` func Fact(n) := 1 if n <= 0 else n * Fact(n - 1);
`` Fact(3);

Fact(0)
Fact(1)
Fact(17)

`` func A(n) := 1 if n <= 0 else n * B(n - 1);
`` func B(n) := 1 if n <= 0 else n * A(n - 1);
`` A(3);
`` B(3);

A(0)
A(1)
A(2)
A(5)
B(0)
A(1)
A(2)
B(5)
