com.jnape.palatable.lambda.monad.MonadBase Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of lambda Show documentation
Show all versions of lambda Show documentation
Functional patterns for Java
package com.jnape.palatable.lambda.monad;
/**
* A type into which a {@link MonadRec} is embedded whilst internally preserving the {@link MonadRec} structure.
*
* @param the {@link MonadRec} embedded in this {@link MonadBase}
* @param the carrier type
* @param the witness
*/
@SuppressWarnings("unused")
public interface MonadBase, A, MB extends MonadBase, ?, MB>> {
/**
* Lift a new argument {@link MonadRec} into this {@link MonadBase}.
*
* @param nc the argument {@link MonadRec}
* @param the {@link MonadRec} carrier type
* @param the argument {@link MonadRec} witness
* @return the new {@link MonadBase}
*/
> MonadBase lift(MonadRec nc);
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy