Crate functional [] [src]

Structs

Add

One of the basic binary operation type It's autoimplemeted for all types which implement std::ops::Add

Concat

Concatination operation for sequenses

Mul

One of the basic binary operation type It's autoimplemeted for all types which implement std::ops::Mul

Traits

AssociativeOperation

Declare binary operation as associative

BinaryOperation

Define binary operation as type

Equals

Equality trait It is widely used in complex type traits to declare equalty between any types Equals is implemented for T No others implementations alowed

Functor

Basic functional trait

Generic1

Generic types can implement this trait providing an ability to extract first generic parameter.

Generic2

Generic types with at least two parameters can implement this trait providing an ability to extract second generic parameter.

Magma

Basic algebraic structure/ Combines binary operation with type

Monad

Monad trait. Can you explain monads... in five words?

Monoid

Monoid is Semigroup with neutral element for is's operation

Rebind1

Generic types can implement this trait providing an ability to change first generic parameter. Associated Type must have same HKT. There are few laws: <<X As Rebind1<T>::Type as Generic1>::Type == T <X As Rebind1<<X as Generic1>::Type>::Type == X

Rebind2

Generic types with at least two parameters can implement this trait providing an ability to change second generic parameter. Associated Type must have same HKT. There are few laws: <<X As Rebind2<T>::Type as Generic2>::Type == T <X As Rebind2<<X as Generic2>::Type>::Type == X

Semigroup

Combines asscotiative operation with type