All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.jnape.palatable.lambda.monad.MonadBase Maven / Gradle / Ivy

There is a newer version: 5.5.0
Show newest version
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> {

    /**
     * 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