Recursion In Functional Programming Definition