Class Absent<A>

java.lang.Object
com.jnape.palatable.lambda.semigroup.builtin.Absent<A>
Type Parameters:
A - the Maybe value parameter type
All Implemented Interfaces:
Fn1<Semigroup<A>, Fn1<Maybe<A>, Fn1<Maybe<A>,Maybe<A>>>>, Fn2<Semigroup<A>, Maybe<A>, Fn1<Maybe<A>,Maybe<A>>>, Fn3<Semigroup<A>, Maybe<A>, Maybe<A>, Maybe<A>>, SemigroupFactory<Semigroup<A>, Maybe<A>>, Applicative<Fn1<Maybe<A>, Fn1<Maybe<A>,Maybe<A>>>, Fn1<Semigroup<A>, ?>>, Cartesian<Semigroup<A>, Fn1<Maybe<A>, Fn1<Maybe<A>,Maybe<A>>>, Fn1<?,?>>, Cocartesian<Semigroup<A>, Fn1<Maybe<A>, Fn1<Maybe<A>,Maybe<A>>>, Fn1<?,?>>, Contravariant<Semigroup<A>, Profunctor<?, Fn1<Maybe<A>, Fn1<Maybe<A>,Maybe<A>>>, Fn1<?,?>>>, Functor<Fn1<Maybe<A>, Fn1<Maybe<A>,Maybe<A>>>, Fn1<Semigroup<A>, ?>>, Profunctor<Semigroup<A>, Fn1<Maybe<A>, Fn1<Maybe<A>,Maybe<A>>>, Fn1<?,?>>, Monad<Fn1<Maybe<A>, Fn1<Maybe<A>,Maybe<A>>>, Fn1<Semigroup<A>, ?>>, MonadReader<Semigroup<A>, Fn1<Maybe<A>, Fn1<Maybe<A>,Maybe<A>>>, Fn1<Semigroup<A>, ?>>, MonadRec<Fn1<Maybe<A>, Fn1<Maybe<A>,Maybe<A>>>, Fn1<Semigroup<A>, ?>>, MonadWriter<Semigroup<A>, Fn1<Maybe<A>, Fn1<Maybe<A>,Maybe<A>>>, Fn1<Semigroup<A>, ?>>

public final class Absent<A> extends Object implements SemigroupFactory<Semigroup<A>, Maybe<A>>
A Semigroup instance formed by Maybe<A> and a semigroup over A. The application to two Maybe values is absence-biased, such that for a given Maybe x and y:
  • if x is absent, the result is x
  • if x is present and y is absent, the result is y
  • if both x and y are present, the result is the application of the x and y values in terms of the provided semigroup, wrapped in Maybe.just(A)
See Also: