-- main.mcl --
import "fmt"

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

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

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