Uses of Class
io.atlassian.fugue.law.IsEq
Packages that use IsEq
-
Uses of IsEq in io.atlassian.fugue.law
Methods in io.atlassian.fugue.law that return IsEqModifier and TypeMethodDescriptionstatic <A> IsEq<A> IsEq.isEq(A lhs, A rhs) Two equal elementsMonoidLaws.monoidLeftIdentity(A x) If the zero of your monoid is combine with an element of the type your monoid works with the result should be that element.MonoidLaws.monoidRightIdentity(A x) If an element of the type your monoid works with is combined with the zero of your monoid result should be that element.SemigroupLaws.multiply1pEqualRepeatedAppend(int n, A a) TheSemigroup.multiply1p(int, Object)function of your semigroup must be equal toSemigroup.sumNonEmpty(Object, Iterable)applied to the input and an iterable containingn - 1copies of that inputMonoidLaws.multiplyEqualRepeatedAppend(int n, A a) The multiply function of your monoid must be equal to the sum function called with an iterable containingncopies of the input type.MonoidLaws.semigroupAssociative(A x, A y, A z) A monoid must not care about the order elements are combined.SemigroupLaws.semigroupAssociative(A x, A y, A z) A semigroup must not care about the order elements are combined.MonoidLaws.sumEqualFold(Iterable<A> as) The sum function of your monoid must be equal toFunctions.fold(BiFunction, Object, Iterable)using append as the folding function and zero() as the initial valueSemigroupLaws.sumNonEmptyEqualFold(A head, Iterable<A> tail) TheSemigroup.sumNonEmpty(Object, Iterable)function of your semigroup must be equal to aFunctions.fold(BiFunction, Object, Iterable)where append is used as the combining function, head is used as the initial value and tail is the iterable to check -
Uses of IsEq in io.atlassian.fugue.optic.law
Methods in io.atlassian.fugue.optic.law that return IsEqModifier and TypeMethodDescriptionOptionalLaws.getOptionSet(S s) set what you getset what you getTraversalLaws.headOption(S s) headOption returns the first element of getAllIsoLaws.modifyEitherFPoint(S s) modifyF Applicative.point(_) = Applicative.point(_)LensLaws.modifyEitherFPoint(S s) modifyF Applicative.point(_) = Applicative.point(_)OptionalLaws.modifyEitherFPoint(S s) modifyF Applicative.point(_) = Applicative.point(_)PrismLaws.modifyEitherFPoint(S s) modifyF Applicative.point(_) = Applicative.point(_)TraversalLaws.modifyEitherFPoint(S s) modifyF Applicative.point(_) = Applicative.point(_)IsoLaws.modifyFunctionFPoint(S s) modifyF Applicative.point(_) = Applicative.point(_)LensLaws.modifyFunctionFPoint(S s) modifyF Applicative.point(_) = Applicative.point(_)OptionalLaws.modifyFunctionFPoint(S s) modifyF Applicative.point(_) = Applicative.point(_)PrismLaws.modifyFunctionFPoint(S s) modifyF Applicative.point(_) = Applicative.point(_)TraversalLaws.modifyFunctionFPoint(S s) modifyF Applicative.point(_) = Applicative.point(_)IsoLaws.modifyIdentity(S s) modify id = idLensLaws.modifyIdentity(S s) modify id = idOptionalLaws.modifyIdentity(S s) modify id = idPrismLaws.modifyIdentity(S s) modify id = idSetterLaws.modifyIdentity(S s) modify id = idTraversalLaws.modifyIdentity(S s) modify id = idIsoLaws.modifyIterableFPoint(S s) modifyF Applicative.point(_) = Applicative.point(_)LensLaws.modifyIterableFPoint(S s) modifyF Applicative.point(_) = Applicative.point(_)OptionalLaws.modifyIterableFPoint(S s) modifyF Applicative.point(_) = Applicative.point(_)PrismLaws.modifyIterableFPoint(S s) modifyF Applicative.point(_) = Applicative.point(_)TraversalLaws.modifyIterableFPoint(S s) modifyF Applicative.point(_) = Applicative.point(_)IsoLaws.modifyOptionFPoint(S s) modifyF Applicative.point(_) = Applicative.point(_)LensLaws.modifyOptionFPoint(S s) modifyF Applicative.point(_) = Applicative.point(_)OptionalLaws.modifyOptionFPoint(S s) modifyF Applicative.point(_) = Applicative.point(_)PrismLaws.modifyOptionFPoint(S s) modifyF Applicative.point(_) = Applicative.point(_)TraversalLaws.modifyOptionFPoint(S s) modifyF Applicative.point(_) = Applicative.point(_)OptionalLaws.modifyOptionIdentity(S s) modifyOption with id is isomorphomic to isMatchingPrismLaws.modifyOptionIdentity(S s) modifyOption with id is isomorphomic to isMatchingIsoLaws.modifyPairFPoint(S s) modifyF Applicative.point(_) = Applicative.point(_)LensLaws.modifyPairFPoint(S s) modifyF Applicative.point(_) = Applicative.point(_)OptionalLaws.modifyPairFPoint(S s) modifyF Applicative.point(_) = Applicative.point(_)PrismLaws.modifyPairFPoint(S s) modifyF Applicative.point(_) = Applicative.point(_)TraversalLaws.modifyPairFPoint(S s) modifyF Applicative.point(_) = Applicative.point(_)IsoLaws.modifySupplierFPoint(S s) modifyF Applicative.point(_) = Applicative.point(_)LensLaws.modifySupplierFPoint(S s) modifyF Applicative.point(_) = Applicative.point(_)OptionalLaws.modifySupplierFPoint(S s) modifyF Applicative.point(_) = Applicative.point(_)PrismLaws.modifySupplierFPoint(S s) modifyF Applicative.point(_) = Applicative.point(_)TraversalLaws.modifySupplierFPoint(S s) modifyF Applicative.point(_) = Applicative.point(_)PrismLaws.partialRoundTripOneWay(S s) if a Prism match you can always go back to the sourceIsoLaws.roundTripOneWay(S s) get and reverseGet forms an Isomorphism: round trip one wayIsoLaws.roundTripOtherWay(A a) get and reverseGet forms an Isomorphism: round trip other wayPrismLaws.roundTripOtherWay(A a) reverseGet produces a valueset is a weaker version of reverseGetget what you setget what you set.OptionalLaws.setGetOption(S s, A a) get what you setLensLaws.setIdempotent(S s, A a) set idempotentOptionalLaws.setIdempotent(S s, A a) set idempotentSetterLaws.setIdempotent(S s, A a) set idempotentTraversalLaws.setIdempotent(S s, A a) set idempotentsetOption only succeeds when the Optional is matchingsetOption only succeeds when the Prism is matching