FP (1977)

def fact = eq 0 -> 1; *°[id, fac°(->°[id, 1])]