Function lambda_calculus::data::result::is_ok
source · pub fn is_ok() -> Term
Expand description
Applied to a lambda-encoded Result
it produces a lambda-encoded boolean indicating whether it
is Result::Ok
.
IS_OK ≡ λa.a (λx.TRUE) (λx.FALSE) ≡ λ 1 (λ TRUE) (λ FALSE)
Example
use lambda_calculus::data::result::is_ok;
use lambda_calculus::*;
let ok_one: Result<usize, usize> = Ok(1);
let err_two: Result<usize, usize> = Err(2);
assert_eq!(beta(app(is_ok(), ok_one.into_church()), NOR, 0), true.into());
assert_eq!(beta(app(is_ok(), err_two.into_church()), NOR, 0), false.into());