Trait lambek::type_app::TypeCon[][src]

pub trait TypeCon { }

A type F implements TypeCon to mark itself as having the kind Type -> Type.

Although the requirement is non-binding, types that implement TypeCon are also expected to implement TypeApp. For stronger guarantee that a type F really implements TypeApp for all type arguments, use TypeAppGeneric instead.

In practice, it is usually sufficient to require type constructors to implement just TypeCon. This is because the constraint for TypeAppGeneric may sometimes be too strict, i.e. we may want to allow types that implement TypeApp for some constrained type arguments such as Send or 'static.

Implementors

Loading content...