package api
- Alphabetic
- Public
- All
Type Members
- final case class Failed [A](detail: A) extends Result[A] with Product with Serializable
-
case class
Inference
[P, C](isValid: Boolean, show: String) extends Product with Serializable
Evidence that states if the conclusion
C
can be inferred from the premiseP
or not.Evidence that states if the conclusion
C
can be inferred from the premiseP
or not.This type class is used to implement refinement subtyping. If a valid
Inference[P, C]
exists, the typeF[T, P]
is considered a subtype ofF[T, C]
. - final case class Passed [A](detail: A) extends Result[A] with Product with Serializable
-
trait
RefType
[F[_, _]] extends Serializable
Type class that allows
F
to be used as carrier type of a refinement.Type class that allows
F
to be used as carrier type of a refinement. The first type parameter ofF
is the base type that is being refined by its second type parameter which is the type-level predicate that denotes the refinement. Consequently,F[T, P]
is a phantom type that only contains a value of typeT
.The library provides instances of
RefType
for- the
Refined
value class - and
shapeless.tag.@@
which is a subtype of its first parameter (i.e.(T @@ P) <: T
)
- the
-
final
class
Refined
[T, P] extends AnyVal with Serializable
Wraps a value of type
T
that satisfies the predicateP
. - sealed abstract class Result [A] extends Product with Serializable
-
trait
Validate
[T, P] extends Serializable
Type class for validating values of type
T
according to a type-level predicateP
.Type class for validating values of type
T
according to a type-level predicateP
. The semantics ofP
are defined by the instance(s) of this type class forP
.
Value Members
- object Inference extends Serializable
- object RefType extends Serializable
- object Refined extends Serializable
- object Result extends Serializable
- object Validate extends Serializable