LISP

Here is how a real LISP program to compute factorial looks:

(DEFINE

(FACTORIAL

(LAMBDA(N)

(COND ((EQUAL N 1)1)

(T (PRODUCT N (FACTORIAL (DIFFERENCE N 1)))))))

This somewhat bizarre notation is used because LISP programs are themselves represented by lists in the same spirit that computer instructions are represented as binary numbers. (So one LISP program could be manipulated by another.)

Balancing parentheses has driven many LISP programmers to distraction. The more readable version would look like a mathematical statement.