final object HKTypeLambda
extends TypeLambdaCompanion

Constructors

Members

def any ( n: Int ) ( implicit ctx: Context ) : HKTypeLambda
def apply ( paramNames: List [ TypeName ] ) ( paramInfosExp: HKTypeLambda => List [ TypeBounds ] , resultTypeExp: HKTypeLambda => Type ) ( implicit ctx: Context ) : HKTypeLambda
override def fromParams ( params: List [ PI ] , resultType: Type ) ( implicit ctx: Context ) : Type

Distributes Lambda inside type bounds. Examples:

type T[X] = U        becomes    type T = [X] -> U
type T[X] <: U       becomes    type T >: Nothign <: ([X] -> U)
type T[X] >: L <: U  becomes    type T >: ([X] -> L) <: ([X] -> U)

Distributes Lambda inside type bounds. Examples:

type T[X] = U        becomes    type T = [X] -> U
type T[X] <: U       becomes    type T >: Nothign <: ([X] -> U)
type T[X] >: L <: U  becomes    type T >: ([X] -> L) <: ([X] -> U)
override def paramName ( param: Of [ TypeName ] ) ( implicit ctx: Context ) : TypeName
def unapply ( tl: HKTypeLambda ) : Some [ ( List [ LambdaParam ], Type ) ]