|
Scala example source code file (ContravariantSyntax.scala)
The ContravariantSyntax.scala Scala example source codepackage scalaz package syntax /** Wraps a value `self` and provides methods related to `Contravariant` */ final class ContravariantOps[F[_],A] private[syntax](val self: F[A])(implicit val F: Contravariant[F]) extends Ops[F[A]] { //// final def contramap[B](f: B => A): F[B] = F.contramap(self)(f) final def ∙[B](f: B => A): F[B] = F.contramap(self)(f) //// } sealed trait ToContravariantOps0 { implicit def ToContravariantOpsUnapply[FA](v: FA)(implicit F0: Unapply[Contravariant, FA]) = new ContravariantOps[F0.M,F0.A](F0(v))(F0.TC) } trait ToContravariantOps extends ToContravariantOps0 with ToInvariantFunctorOps { implicit def ToContravariantOps[F[_],A](v: F[A])(implicit F0: Contravariant[F]) = new ContravariantOps[F,A](v) //// //// } trait ContravariantSyntax[F[_]] extends InvariantFunctorSyntax[F] { implicit def ToContravariantOps[A](v: F[A]): ContravariantOps[F, A] = new ContravariantOps[F,A](v)(ContravariantSyntax.this.F) def F: Contravariant[F] //// //// } Other Scala examples (source code examples)Here is a short list of links related to this Scala ContravariantSyntax.scala source code file: |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.