Working on the Nib programming language.
A semi-concatenative that extends array language features such as tacit programming and scalar extension.
`factorial example`
.(/ 1 while .[ .([ - 1 /:*) ]) .: fact-iter `loop (functionally) using a tuple (counter / factorial-accumulator)`
.(? ./ .(- 1 fact *:/) .(1)) .: fact-rec `recursive definition`
.(downto 1 ^.* 1) .: fact-array
`the product of the range 1..n (product is the multiplication * reduction ^ starting at 1)`