p
endpoints
package endpoints
Ordering
- Alphabetic
Visibility
- Public
- All
Type Members
- trait InvariantFunctor[F[_]] extends AnyRef
Defines way to transform give type constructor F
- trait InvariantFunctorSyntax extends AnyRef
- trait Semigroupal[F[_]] extends AnyRef
- trait SemigroupalSyntax extends AnyRef
- trait Tupler[A, B] extends AnyRef
Defines a strategy for tupling
A
andB
values, according to typesA
andB
.Defines a strategy for tupling
A
andB
values, according to typesA
andB
.The actual implementation avoids nested tuples and eliminates
Unit
, so that instead of ending with, e.g., the following type:((Unit, Int), (((Unit, Unit), String)))
We just get:
(Int, String)
The following rules are implemented (by increasing priority):
- A, B -> (A, B)
- A, (B, C) -> (A, B, C)
- (A, B), C -> (A, B, C)
- (A, B), (C, D) -> (A, B, C, D)
- A, Unit -> A
- Unit, A -> A
- trait Tupler1 extends AnyRef
- trait Tupler2 extends Tupler1
- trait Tupler3 extends Tupler2
- trait Tupler4 extends Tupler3