dev.constructive.eo.laws.eo.discipline

Discipline RuleSet bundles for the composition-machinery laws in dev.constructive.eo.laws.eo.

Attributes

Members list

Type members

Classlikes

abstract class ComposeAssociativityTests[S, A, F[_, _]] extends Laws

Discipline RuleSet for ComposeAssociativityLaws.

Discipline RuleSet for ComposeAssociativityLaws.

Attributes

Source
ComposeTests.scala
Supertypes
trait Laws
class Object
trait Matchable
class Any
abstract class ComposedFoldMapTests[S, A, B] extends Laws

Discipline RuleSet for ComposedFoldMapLaws — capability-keyed fold distribution, stated at the additive Int monoid (sufficient to witness the homomorphism).

Discipline RuleSet for ComposedFoldMapLaws — capability-keyed fold distribution, stated at the additive Int monoid (sufficient to witness the homomorphism).

Attributes

Source
ComposeTests.scala
Supertypes
trait Laws
class Object
trait Matchable
class Any
abstract class ComposedGetOptionTests[S, A, B] extends Laws

Discipline RuleSet for ComposedGetOptionLaws — capability-keyed partial-read distribution.

Discipline RuleSet for ComposedGetOptionLaws — capability-keyed partial-read distribution.

Attributes

Source
ComposeTests.scala
Supertypes
trait Laws
class Object
trait Matchable
class Any
abstract class ComposedGetTests[S, A, B] extends Laws

Discipline RuleSet for ComposedGetLaws — capability-keyed get distribution, usable at any cross-family cell whose three legs all read totally.

Discipline RuleSet for ComposedGetLaws — capability-keyed get distribution, usable at any cross-family cell whose three legs all read totally.

Attributes

Source
ComposeTests.scala
Supertypes
trait Laws
class Object
trait Matchable
class Any
abstract class ComposedReverseGetTests[S, A, B] extends Laws

Discipline RuleSet for ComposedReverseGetLaws — capability-keyed build distribution.

Discipline RuleSet for ComposedReverseGetLaws — capability-keyed build distribution.

Attributes

Source
ComposeTests.scala
Supertypes
trait Laws
class Object
trait Matchable
class Any
abstract class FoldMapHomomorphismTests[S, A, F[_, _]] extends Laws

Discipline RuleSet for FoldMapHomomorphismLaws.

Discipline RuleSet for FoldMapHomomorphismLaws.

Attributes

Source
FoldAndTraverseTests.scala
Supertypes
trait Laws
class Object
trait Matchable
class Any
abstract class IsoComposeTests[S, A, B] extends Laws

Discipline RuleSet for IsoComposeLaws.

Discipline RuleSet for IsoComposeLaws.

Attributes

Source
ComposeTests.scala
Supertypes
trait Laws
class Object
trait Matchable
class Any
abstract class LensComposeTests[S, A, B] extends Laws

Discipline RuleSet for LensComposeLaws.

Discipline RuleSet for LensComposeLaws.

Attributes

Source
ComposeTests.scala
Supertypes
trait Laws
class Object
trait Matchable
class Any
abstract class ModifyAConstTests[S, A, F[_, _]] extends Laws

Discipline RuleSet for ModifyAConstLaws.

Discipline RuleSet for ModifyAConstLaws.

Attributes

Source
ModifyATests.scala
Supertypes
trait Laws
class Object
trait Matchable
class Any
abstract class ModifyAIdTests[S, A, F[_, _]] extends Laws

Discipline RuleSet for ModifyAIdLaws.

Discipline RuleSet for ModifyAIdLaws.

Attributes

Source
ModifyATests.scala
Supertypes
trait Laws
class Object
trait Matchable
class Any
abstract class MorphTests[S, A, F[_, _], G[_, _]] extends Laws

Discipline RuleSets for MorphLaws. Two entry points — morphPreservesModify and morphPreservesGet — because the two laws require disjoint capabilities on F / G (ForgetfulFunctor vs. Accessor) and not every carrier pair satisfies both.

Discipline RuleSets for MorphLaws. Two entry points — morphPreservesModify and morphPreservesGet — because the two laws require disjoint capabilities on F / G (ForgetfulFunctor vs. Accessor) and not every carrier pair satisfies both.

Attributes

Source
MorphTests.scala
Supertypes
trait Laws
class Object
trait Matchable
class Any
abstract class OptionalComposeTests[S, A, B] extends Laws

Discipline RuleSet for OptionalComposeLaws.

Discipline RuleSet for OptionalComposeLaws.

Attributes

Source
ComposeTests.scala
Supertypes
trait Laws
class Object
trait Matchable
class Any
abstract class PrismComposeTests[S, A, B] extends Laws

Discipline RuleSet for PrismComposeLaws.

Discipline RuleSet for PrismComposeLaws.

Attributes

Source
ComposeTests.scala
Supertypes
trait Laws
class Object
trait Matchable
class Any
abstract class PutIsReverseGetTests[S, A] extends Laws

Discipline RuleSet for PutIsReverseGetLaws.

Discipline RuleSet for PutIsReverseGetLaws.

Attributes

Source
ReverseAndTransformTests.scala
Supertypes
trait Laws
class Object
trait Matchable
class Any
abstract class ReverseInvolutionTests[S, A] extends Laws

Discipline RuleSet for ReverseInvolutionLaws.

Discipline RuleSet for ReverseInvolutionLaws.

Attributes

Source
ReverseAndTransformTests.scala
Supertypes
trait Laws
class Object
trait Matchable
class Any
abstract class TransformTests[S, A, X0] extends Laws

Discipline RuleSet for TransformLaws.

Discipline RuleSet for TransformLaws.

Attributes

Source
ReverseAndTransformTests.scala
Supertypes
trait Laws
class Object
trait Matchable
class Any