Reducer
A type map that tries to reduce (part of) the result type of the type lambda tycon with the given args(some of which are wildcard arguments represented by type bounds). Non-wildcard arguments are substituted everywhere as usual. A wildcard argument `>: L : L : L <: H
Any other occurrence of X in tycon is replaced by U, if the occurrence of X in tycon is covariant, or nonvariant, or by L, if the occurrence is contravariant.
The idea is that the AllowLambdaWildcardApply mode is used to check whether a type can be soundly reduced, and to give an error or warning if that is not the case. By contrast, the default mode, with AllowLambdaWildcardApply not set, reduces all applications even if this yields a different type, so its postcondition is that no type parameters of tycon appear in the result type. Using this mode, we can guarantee that appliedTo will never produce a higher-kinded application with a type lambda as type constructor.
Attributes
- Graph
-
- Supertypes
Members list
Value members
Concrete methods
Applies the body of this function to the argument.
Applies the body of this function to the argument.
Attributes
- Returns
-
the result of function application.
Inherited methods
Composes two instances of Function1 in a new Function1, with this function applied first.
Composes two instances of Function1 in a new Function1, with this function applied first.
Type parameters
- A
-
the result type of function
g
Value parameters
- g
-
a function R => A
Attributes
- Returns
-
a new function
fsuch thatf(x) == g(apply(x)) - Inherited from:
- Function1
Attributes
- Inherited from:
- VariantTraversal
Composes two instances of Function1 in a new Function1, with this function applied last.
Composes two instances of Function1 in a new Function1, with this function applied last.
Type parameters
- A
-
the type to which function
gcan be applied
Value parameters
- g
-
a function A => T1
Attributes
- Returns
-
a new function
fsuch thatf(x) == apply(g(x)) - Inherited from:
- Function1
Attributes
- Inherited from:
- TypeMap
Attributes
- Inherited from:
- TypeMap
Attributes
- Inherited from:
- TypeMap
Attributes
- Inherited from:
- TypeMap
Attributes
- Inherited from:
- TypeMap
Attributes
- Inherited from:
- TypeMap
Attributes
- Inherited from:
- TypeMap
Attributes
- Inherited from:
- TypeMap
Attributes
- Inherited from:
- TypeMap
Attributes
- Inherited from:
- TypeMap
Attributes
- Inherited from:
- TypeMap
Attributes
- Inherited from:
- TypeMap
Attributes
- Inherited from:
- TypeMap
Attributes
- Inherited from:
- TypeMap
Attributes
- Inherited from:
- TypeMap
Attributes
- Inherited from:
- TypeMap
Attributes
- Inherited from:
- TypeMap
Attributes
- Inherited from:
- TypeMap
Attributes
- Inherited from:
- TypeMap
Attributes
- Inherited from:
- TypeMap
Can the prefix of this static reference be omitted if the reference itself can be omitted? Overridden in TypeOps#avoid.
Can the prefix of this static reference be omitted if the reference itself can be omitted? Overridden in TypeOps#avoid.
Attributes
- Inherited from:
- VariantTraversal
Attributes
- Inherited from:
- TypeMap
Attributes
- Inherited from:
- TypeMap
Attributes
- Inherited from:
- TypeMap
Can be overridden. By default, only the prefix is mapped.
Utility method. Maps the supertype of a type proxy. Returns the type proxy itself if the mapping leaves the supertype unchanged. This avoids needless changes in mapped types.
Utility method. Maps the supertype of a type proxy. Returns the type proxy itself if the mapping leaves the supertype unchanged. This avoids needless changes in mapped types.
Attributes
- Inherited from:
- TypeMap
Map this function over given type
Attributes
- Inherited from:
- TypeMap
Attributes
- Inherited from:
- TypeMap
Attributes
- Inherited from:
- VariantTraversal
Attributes
- Inherited from:
- VariantTraversal
Attributes
- Inherited from:
- TypeMap
The type parameters of the constructor of this applied type. Overridden in OrderingConstraint's ConstraintAwareTraversal to take account of instantiations in the constraint that are not yet propagated to the instance types of type variables.
The type parameters of the constructor of this applied type. Overridden in OrderingConstraint's ConstraintAwareTraversal to take account of instantiations in the constraint that are not yet propagated to the instance types of type variables.
Attributes
- Inherited from:
- VariantTraversal