On Mon, Jan 4, 2010 at 6:51 AM, Maciej Piechotka <[email protected]> wrote:
> About comonad - not exactly as every comonad is copointed and the only
> possible way is extract Empty = _|_
I think this module could be cleaned up by disallowing empty lists.
You have this nice semantic property that "every clist has a focus",
but when you add empty you have to add "unless it's empty". focus
returns a Maybe, isEmpty is necessary.
I mean, it could be that your use case requires empty clists and would
be uglier without empty, but think about it. I find in Haskell that
simplicity breeds simplicity; i.e. I'm willing to wager that whatever
algorithm you are using clist for will actually be cleaner if you got
rid of empty and modify the algorithm accordingly. We shall see
Haskell-Cafe mailing list