Optimal Reduction of Functional Expressions

The usual implementations of functional programming languages based on a weak evaluation paradigm (no reduction inside a lambda), betray the very spirit, i.e. the higher-order nature, of lambda-calculus.