ekmett / comonad

Haskell 98 comonads
http://hackage.haskell.org/package/comonad
Other
77 stars 32 forks source link

Cofree instances are very wrong #17

Closed ekmett closed 8 years ago

ekmett commented 9 years ago

The ComonadApply and Apply don't agree with the Applicative for Cofree.

There are two structures here. One tries to zip together the 'f's stream-style. The other works with an indexed-monoid style to smash the 'f's together. These need to split into separate (co)monads.

fumieval commented 9 years ago

Is the (<@>) = (<*>) requirement really necessary? They don't seem to conflict if we just remove this restriction (but the mathematical symmetry will be gone, though).

ekmett commented 9 years ago

(<@>) = (<*>) could be relaxed, if I could swallow my gorge, but (<.>) = (<*>) is a hard requirement.

glguy commented 8 years ago

This issue is currently tracked in its own repository https://github.com/ekmett/free/issues/36