Interface Comonad<F extends Kind<F,?>>

All Superinterfaces:
Functor<F>, Invariant<F>
All Known Subinterfaces:
EitherKComonad<F,G>, EvalComonad, IdComonad, ProducerComonad

public interface Comonad<F extends Kind<F,?>> extends Functor<F>
  • Method Summary

    Modifier and Type
    Method
    Description
    <A, B> Kind<F,B>
    coflatMap(Kind<F,? extends A> value, Function1<? super Kind<F,? extends A>,? extends B> map)
     
    default <A> Kind<F,Kind<F,A>>
    coflatten(Kind<F,? extends A> value)
     
    <A> A
    extract(Kind<F,? extends A> value)
     

    Methods inherited from interface com.github.tonivade.purefun.typeclasses.Functor

    imap, lift, map
  • Method Details

    • coflatMap

      <A, B> Kind<F,B> coflatMap(Kind<F,? extends A> value, Function1<? super Kind<F,? extends A>,? extends B> map)
    • extract

      <A> A extract(Kind<F,? extends A> value)
    • coflatten

      default <A> Kind<F,Kind<F,A>> coflatten(Kind<F,? extends A> value)