fact:*/1+!:                                            /ok not bad, but we can do better
fact:{$[~x;1;x*fact x-1]}                              /that's more like it
fact:{*/{{x[y y]z}[x]{x[y y]z}x}[{$[~y;();y,x y-1]}]x} /*you're scaring me*

/and we can also make a cursed range
range:{{x[y y]z}[x]{x[y y]z}x}[{$[=/0 1+y;();(*y),x@1 0+y]}]
/range 5 10


~/languages/fact.html