Skip to content

Instantly share code, notes, and snippets.

@xuwei-k
Last active December 10, 2015 01:09
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save xuwei-k/4356594 to your computer and use it in GitHub Desktop.
Save xuwei-k/4356594 to your computer and use it in GitHub Desktop.
Scalaz7 Typeclasses Law

Scalaz7 Typeclasses Law

  • identity
  • composite

ApplicativeLaw extends FunctorLaw

  • identityAp
  • composition
  • homomorphism
  • interchange
  • associative

EmptyLaw extends PlusLaw

  • rightPlusIdentity
  • leftPlusIdentity

MonadLaw extends ApplicativeLaw

  • rightIdentity
  • leftIdentity

MonadPlusLaw extends EmptyLaw with MonadLaw

  • emptyMap
  • leftZero

StrongMonadPlusLaw extends MonadPlusLaw

  • rightZero

TraverseLaw extends FunctorLaw

  • identityTraverse
  • sequentialFusion
  • purity
  • naturality
  • parallelFusion

  • commutative
  • reflexive
  • transitive
  • naturality

OrderLaw extends EqualLaw

  • transitiveOrder
  • orderAndEqualConsistent

EnumLaw extends OrderLaw

  • succpred
  • predsucc
  • minmaxpred
  • minmaxsucc
  • succn1
  • predn1
  • succorder
  • predorder

  • associative

CategoryLaw extends ComposeLaw

  • leftIdentity
  • rightIdentity

IsEmptyLaw extends EmptyLaw (not include 7.0.0-M6)

  • emptyIsEmpty
  • emptyPlusIdentity

  • identity
  • retention
  • doubleSet

  • nonNegativity
  • identity
  • equality
  • symmetry
  • triangleInequality

  • associative

MonoidLaw extends SemigroupLaw

  • leftIdentity
  • rightIdentity

GroupLaw extends MonoidLaw

  • inverseExists

  • repUnrep
  • unrepRep
  • corepUncorep
  • uncorepCorep
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment