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: