10 FUNCTIONAL PROGRAMMING "The value of an expression depends only on the values of its subexpressions, if any." 1. Programming Without Assignments 2. Implicit Storage Management 3. Functions are First Class Values 4. Meta-Language