Proof

decrel.reify.monofunctor.proof.Proof$
See theProof companion class
object Proof

Attributes

Companion:
class
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
Proof.type

Members list

Concise view

Type members

Classlikes

trait Many[Rel <: Many[In, Coll, Out], -In, Out, Coll <: ([T] =>> Iterable[T] & IterableOps[T, Coll, Coll[T]])]() extends Proof[Rel, In, Coll[Out]]

Attributes

Graph
Supertypes
class Proof[Rel, In, Coll[Out]]
class Object
trait Matchable
class Any
trait Optional[Rel <: Optional[In, Out], -In, Out] extends Proof[Rel, In, Option[Out]]

Attributes

Graph
Supertypes
class Proof[Rel, In, Option[Out]]
class Object
trait Matchable
class Any
trait Single[Rel <: Single[In, Out], -In, Out] extends Proof[Rel, In, Out]

Attributes

Graph
Supertypes
class Proof[Rel, In, Out]
class Object
trait Matchable
class Any

Value members

Concrete methods

def reify[Rel, In, Out](rel: Rel & Relation[In, Out])(implicit ev: Proof[Rel, In, Out]): ReifiedRelation[In, Out]
def summon[Rel, In, Out](rel: Rel & Relation[In, Out])(implicit ev: Proof[Rel, In, Out]): Proof[Rel, In, Out]

Implicits

Implicits

implicit def composedManyProof[LeftTree <: Many[LeftIn, CC, LeftOut], LeftIn, LeftOut, RightTree, RightIn, RightOut, CC <: ([A] =>> Iterable[A] & IterableOps[A, LazyRef(...), LazyRef(...)])](implicit leftProof: Many[LeftTree, LeftIn, LeftOut, CC], rightProof: Proof[RightTree, RightIn, RightOut], ev: LeftOut <:< RightIn, bf: BuildFrom[CC[RightIn], RightOut, CC[RightOut]]): Proof[Many[LeftTree, LeftIn, LeftOut, RightTree, RightIn, RightOut, CC], LeftIn, CC[RightOut]]
implicit def composedOptionalProof[LeftTree <: Optional[LeftIn, LeftOut], LeftIn, LeftOut, RightTree, RightIn, RightOut](implicit leftProof: Optional[LeftTree, LeftIn, LeftOut], rightProof: Proof[RightTree, RightIn, RightOut], ev: LeftOut <:< RightIn): Proof[Optional[LeftTree, LeftIn, LeftOut, RightTree, RightIn, RightOut], LeftIn, Option[RightOut]]
implicit def composedSingleProof[LeftTree <: Single[LeftIn, LeftOut], LeftIn, LeftOut, RightTree, RightIn, RightOut](implicit leftProof: Single[LeftTree, LeftIn, LeftOut], rightProof: Proof[RightTree, RightIn, RightOut], ev: LeftOut <:< RightIn): Proof[Single[LeftTree, LeftIn, LeftOut, RightTree, RightIn, RightOut], LeftIn, RightOut]
implicit def composedZippedProof[LeftTree, LeftIn, LeftOut, LeftOutRefined <: LeftOut, RightTree, RightIn <: LeftIn, RightOut, ZippedOut, ZOR <: ZippedOut](implicit leftProof: Proof[LeftTree & Relation[LeftIn, LeftOut], LeftIn, LeftOutRefined], rightProof: Proof[RightTree & Relation[RightIn, RightOut], RightIn, RightOut], zippable: Out[LeftOutRefined, RightOut, ZOR], zippedEv: LeftIn <:< RightIn): Proof[Zipped[LeftTree, LeftIn, LeftOut, RightTree, RightIn, RightOut, ZippedOut], LeftIn, ZOR]
implicit def selfProof[Rel <: Self[A], A]: Single[Rel, A, A]