Naming conventions

Throughout Functional Hack, the following naming conventions apply.

Lazy parameters

Names of functions with lazy parameters end with L ("lazy"). For example:

final class Option<+T> {
    public function option<TR>(TR $onNone, (function(T): TR) $onSome): TR { ... }
    public function optionL<TR>((function(): TR) $onNone, (function(T): TR) $onSome): TR { ... }
}

These functions exist to prevent the unnecessary evaluation of resource-heavy computations.