Closed gcanti closed 7 years ago
export interface Pointed<F> extends Functor<F> { of<A>(a: A): HKT<F, A> }
export interface Copointed<F> extends Functor<F> { extract<A>(ca: HKT<F, A>): A }
And then
export interface Applicative<F> extends Apply<F>, Pointed<F> {}
export interface Comonad<F> extends Functor<F>, Extend<F>, Copointed<F> {}
I think you can just have
export interface Comonad<F> extends Extend<F>, Copointed<F> {}
without the Functor<F>
Functor<F>
Ah sure, good catch, thanks
And then