All Downloads are FREE. Search and download functionalities are using the official Maven repository.

scalaz.Copointed.scala Maven / Gradle / Ivy

The newest version!
package org.specs2.internal.scalaz

////
/**
 *
 */
////
trait Copointed[F[_]] extends Functor[F] { self =>
  ////
  /** Also known as `extract` / `copure` */
  def copoint[A](p: F[A]): A

  // derived functions

  /** alias for `copoint` */
  def copure[A](p: F[A]): A = copoint(p)

  ////
  val copointedSyntax = new org.specs2.internal.scalaz.syntax.CopointedSyntax[F] { def F = Copointed.this }
}

object Copointed {
  @inline def apply[F[_]](implicit F: Copointed[F]): Copointed[F] = F

  ////

  ////
}





© 2015 - 2025 Weber Informatics LLC | Privacy Policy