Class Xor
- java.lang.Object
-
- com.jnape.palatable.lambda.monoid.builtin.Xor
-
- All Implemented Interfaces:
Fn1<java.lang.Boolean,Fn1<java.lang.Boolean,java.lang.Boolean>>
,Fn2<java.lang.Boolean,java.lang.Boolean,java.lang.Boolean>
,BiPredicate<java.lang.Boolean,java.lang.Boolean>
,Applicative<Fn1<java.lang.Boolean,java.lang.Boolean>,Fn1<java.lang.Boolean,?>>
,Cartesian<java.lang.Boolean,Fn1<java.lang.Boolean,java.lang.Boolean>,Fn1<?,?>>
,Cocartesian<java.lang.Boolean,Fn1<java.lang.Boolean,java.lang.Boolean>,Fn1<?,?>>
,Contravariant<java.lang.Boolean,Profunctor<?,Fn1<java.lang.Boolean,java.lang.Boolean>,Fn1<?,?>>>
,Functor<Fn1<java.lang.Boolean,java.lang.Boolean>,Fn1<java.lang.Boolean,?>>
,Profunctor<java.lang.Boolean,Fn1<java.lang.Boolean,java.lang.Boolean>,Fn1<?,?>>
,Monad<Fn1<java.lang.Boolean,java.lang.Boolean>,Fn1<java.lang.Boolean,?>>
,MonadReader<java.lang.Boolean,Fn1<java.lang.Boolean,java.lang.Boolean>,Fn1<java.lang.Boolean,?>>
,MonadRec<Fn1<java.lang.Boolean,java.lang.Boolean>,Fn1<java.lang.Boolean,?>>
,MonadWriter<java.lang.Boolean,Fn1<java.lang.Boolean,java.lang.Boolean>,Fn1<java.lang.Boolean,?>>
,Monoid<java.lang.Boolean>
,Semigroup<java.lang.Boolean>
public final class Xor extends java.lang.Object implements Monoid<java.lang.Boolean>, BiPredicate<java.lang.Boolean,java.lang.Boolean>
Logical exclusive-or. Equivalent to logical^
.Note that this implementation behaves as a cascade of binary exclusive-or operations, as is the only possible monoidal behavior when applied to an unknown number of inputs.
-
-
Constructor Summary
Constructors Modifier Constructor Description private
Xor()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Boolean
checkedApply(java.lang.Boolean x, java.lang.Boolean y)
Xor
flip()
Flip the order of the arguments.java.lang.Boolean
identity()
The identity element of this monoid.static Xor
xor()
static Fn1<java.lang.Boolean,java.lang.Boolean>
xor(java.lang.Boolean x)
static java.lang.Boolean
xor(java.lang.Boolean x, java.lang.Boolean y)
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.jnape.palatable.lambda.functions.specialized.BiPredicate
and, apply, contraMap, diMapL, discardR, negate, or, toBiPredicate, uncurry
-
Methods inherited from interface com.jnape.palatable.lambda.functions.Fn1
andThen, carry, cartesian, censor, choose, cocartesian, diMap, diMapR, discardL, flatMap, fmap, lazyZip, listens, local, pure, self, thunk, toFunction, trampolineM, zip, zip
-
Methods inherited from interface com.jnape.palatable.lambda.functions.Fn2
apply, checkedApply, compose, toBiFunction, widen
-
Methods inherited from interface com.jnape.palatable.lambda.monoid.Monoid
foldLeft, foldMap, foldRight, reduceLeft, reduceRight
-
-
-
-
Field Detail
-
INSTANCE
private static final Xor INSTANCE
-
-
Method Detail
-
identity
public java.lang.Boolean identity()
Description copied from interface:Monoid
The identity element of this monoid.
-
checkedApply
public java.lang.Boolean checkedApply(java.lang.Boolean x, java.lang.Boolean y)
- Specified by:
checkedApply
in interfaceFn2<java.lang.Boolean,java.lang.Boolean,java.lang.Boolean>
-
flip
public Xor flip()
Description copied from interface:Monoid
Flip the order of the arguments.- Specified by:
flip
in interfaceBiPredicate<java.lang.Boolean,java.lang.Boolean>
- Specified by:
flip
in interfaceFn2<java.lang.Boolean,java.lang.Boolean,java.lang.Boolean>
- Specified by:
flip
in interfaceMonoid<java.lang.Boolean>
- Specified by:
flip
in interfaceSemigroup<java.lang.Boolean>
- Returns:
- an
Fn2
<B, A, C>
-
xor
public static Xor xor()
-
xor
public static Fn1<java.lang.Boolean,java.lang.Boolean> xor(java.lang.Boolean x)
-
xor
public static java.lang.Boolean xor(java.lang.Boolean x, java.lang.Boolean y)
-
-