However, today I was thinking of a problem, a simple one --> to find all permutations of a given list of numbers. I tried to solve it in C and realized how ugly it would get. Then I sat and coded the problem in Python and it reminded me of the good old days of CS 152 programming, a freshman course in my college. I present the code here .... just look and marvel at the elegance of Functional Programming (FP) . Python is not a strict FP language but it has inherited a lot from Lisp, so it has a good number of FP abstractions built in.
Here is the code

The best part is that the code follows the inductive definition of the permutation itself !!