Effect5

Trait Effect5 

Source
pub trait Effect5 {
    type Fixed1;
    type Fixed2;
    type Fixed3;
    type Fixed4;
    type HktWitness: HKT5<Self::Fixed1, Self::Fixed2, Self::Fixed3, Self::Fixed4> + HKT;
}
Expand description

Re-exports the Effect5 trait for arity-5 type-encoded effect systems. Effect5: The Bridge Trait for Arity 5 Type Constructors.

This trait is implemented by a user-defined System Witness to partially apply (fix) four of the five generic parameters of an HKT5 type. It is designed for highly expressive effect systems that need to track four distinct fixed effect types (e.g., Error, Warning, Counter, and Trace information) alongside the primary value type.

Required Associated Types§

Source

type Fixed1

The fixed type for the first parameter of the HKT5 type (e.g., an Error type).

Source

type Fixed2

The fixed type for the second parameter of the HKT5 type (e.g., a Log type).

Source

type Fixed3

The fixed type for the third parameter of the HKT5 type (e.g., a Counter type).

Source

type Fixed4

The fixed type for the fourth parameter of the HKT5 type (e.g., a Trace type).

Source

type HktWitness: HKT5<Self::Fixed1, Self::Fixed2, Self::Fixed3, Self::Fixed4> + HKT

The concrete witness type that implements HKT5 with the four fixed types (Fixed1, Fixed2, Fixed3, Fixed4). This witness type MUST also implement HKT to be compatible with Functor and Monad traits.

Implementors§