pl/cl-nil
In Haskell there is CT creating an algebra. In CL there is the management of nil
that resembles a smart algebra, effective for many examples of CL code:
- nil is equal to false
- empty list is nil
- every value different from nil is true
- in CL every value can be considered like a boolean
and
,or
and other functions working on booleans are extremely composable, because they recognize when something fail.
Probably this behaviour is similar to the Dok transaction-logic behaviour.