pub fn is_none() -> Term
Expand description

Applied to a lambda-encoded option it produces a lambda-encoded boolean indicating whether it is empty.

IS_NONE ≡ λa.a TRUE (λx.FALSE) ≡ λ 1 TRUE (λ FALSE)

Example

use lambda_calculus::data::option::{is_none, none};
use lambda_calculus::*;

assert_eq!(beta(app(is_none(), none()), NOR, 0), true.into());
assert_eq!(beta(app(is_none(), Some(1).into_church()), NOR, 0), false.into());