This would calculate the factorial of 6, if the "self" was the function itself. Is there something that could allow this?

 If[#[[1]] > 0, self[{#[[1]] - 1, #[[2]] #[[1]]}], Print[#[[2]]]] &[{6, 1}]