-- main.mcl --
import "fmt"

# recursive function (not supported!)
func sum1($i) {
	if $i < 0 {
		-1 * sum2(-1 * $i)
	} else {
		if $i == 0 {
			0 # terminate recursion
		} else {
			$i + sum2($i - 1)
		}
	}
}
func sum2($i) {
	if $i < 0 {
		-1 * sum1(-1 * $i)
	} else {
		if $i == 0 {
			0 # terminate recursion
		} else {
			$i + sum1($i - 1)
		}
	}
}

$out1 = sum1(4) # 4 + 3 + 2 + 1 + 0 = 10
$out2 = sum2(-5) # -5 + -4 + -3 + -2 + -1 + -0 = -15

test fmt.printf("sum1(4) is %d", $out1) {}
test fmt.printf("sum2(-5) is %d", $out2) {}
-- OUTPUT --
# err: errSetScope: recursive reference while setting scope: not a dag
