templates nthFibonacci { N: ($)"1", n0: 0"1", n1: 1"1" } -> # when <{ N: <=0"1"> }> do $.n0 ! when <{ N: <1"1"..>}> do { N: $.N - 1"1", n0: $.n1, n1: $.n0 + $.n1} -> # otherwise { N: $.N + 1"1", n1: $.n0, n0: $.n1 - $.n0} -> # end nthFibonacci 8 -> nthFibonacci -> '$; ' -> !OUT::write -5 -> nthFibonacci -> '$; ' -> !OUT::write -6 -> nthFibonacci -> '$; ' -> !OUT::write