Skip to content

Recursion ()

Syntax

Inside a dfn, refers to the dfn itself.

Monadic recursion

      fact  {1 : 1  × -1}
      fact 5
120

Dyadic recursion

For dyadic recursive calls, is called with a left argument:

      gcd  {=0 :     |}
      12 gcd 8
4

Fibonacci

      fib  {1 :   ( -1)+ -2}
      fib 10
55

Notes

captures the dfn as a closure, so it works correctly with lexical scope. Named dfns can also call themselves by name.

See also

  • Dfns -- dfn basics
  • Guards -- conditional returns