StrongLaws

class Object
trait Matchable
class Any

Value members

Concrete methods

def dinaturalityFirst[A, B, C, D](fab: A =>: B, f: C => D)(implicit E: Equal[(A, C) =>: (B, D)], PF: Strong[Function1]): Boolean

lmap (second f) . first == rmap (second f) . first

lmap (second f) . first == rmap (second f) . first

def dinaturalitySecond[A, B, C, D](fab: A =>: B, f: C => D)(implicit E: Equal[(C, A) =>: (D, B)], PF: Strong[Function1]): Boolean

lmap (first f) . second == rmap (first f) . second

lmap (first f) . second == rmap (first f) . second

def firstFirstIsDimap[A, B, C, D](fab: A =>: B)(implicit E: Equal[((A, C), D) =>: ((B, C), D)]): Boolean

first' . first' == dimap assoc unassoc . first' where assoc ((a,b),c) = (a,(b,c)) unassoc (a,(b,c)) = ((a,b),c)

first' . first' == dimap assoc unassoc . first' where assoc ((a,b),c) = (a,(b,c)) unassoc (a,(b,c)) = ((a,b),c)

def firstIsSwappedSecond[A, B, C](fab: A =>: B)(implicit E: Equal[(A, C) =>: (B, C)]): Boolean

first' == dimap swap swap . second'

first' == dimap swap swap . second'

def mapfstEqualsFirstAndThenMapsnd[A, B, C](fab: A =>: B)(implicit E: Equal[(A, C) =>: B]): Boolean

lmap fst == rmap fst . first'

lmap fst == rmap fst . first'

def mapfstEqualsSecondAndThenMapsnd[A, B, C](fab: A =>: B)(implicit E: Equal[(C, A) =>: B]): Boolean

lmap snd == rmap snd . second'

lmap snd == rmap snd . second'

def secondIsSwappedFirst[A, B, C](fab: A =>: B)(implicit E: Equal[(C, A) =>: (C, B)]): Boolean

second' == dimap swap swap . first'

second' == dimap swap swap . first'

def secondSecondIsDimap[A, B, C, D](fab: A =>: B)(implicit E: Equal[(D, (C, A)) =>: (D, (C, B))]): Boolean

second' . second' == dimap unassoc assoc . second' where assoc ((a,b),c) = (a,(b,c)) unassoc (a,(b,c)) = ((a,b),c)

second' . second' == dimap unassoc assoc . second' where assoc ((a,b),c) = (a,(b,c)) unassoc (a,(b,c)) = ((a,b),c)

Inherited methods

def composite[A, B, C, D, E, F](gad: A =>: D, fac: C => B, fba: B => A, fde: D => E, fef: E => F)(implicit E: Equal[C =>: F]): Boolean
Inherited from
ProfunctorLaw
def identity[A, B](gab: A =>: B)(implicit E: Equal[A =>: B]): Boolean
Inherited from
ProfunctorLaw