Node: Predicates, Next: , Previous: Control Structure, Up: Top


An Lpp predicate is a function that returns either nil or a non-nil value based on a test of its given arguments. The return of a non-nil value implies true and the return of nil implies false. Things are done this way since a check for nil or non-nil is always efficient and uniform. Any other Lpp type let value other than nil is considered non-nil. This allows useful values to be returned that at the same time imply true. Furthermore having no specific object implying true makes multi value logics in programs easy and consistent with reductions to two valued logics.

Lpp uses the same philosophy as Common Lisp for deciding when to return non-nil or t. If no better non-nil value is available for indicating success, the symbol t will be returned.