karpal-arrow 0.5.0

Category and Arrow hierarchy for the Industrial Algebra ecosystem
Documentation
1
2
3
4
5
6
7
8
9
use crate::arrow::Arrow;

/// ArrowZero: an Arrow with a zero (failing/empty) morphism.
///
/// Laws:
/// - compose(zero_arrow(), f) == zero_arrow()  (left absorption)
pub trait ArrowZero: Arrow {
    fn zero_arrow<A: Clone + 'static, B: Clone + 'static>() -> Self::P<A, B>;
}