[email protected]
[Top] [All Lists]

[Haskell-cafe] Re: Re: Data.Ring -- Pre-announce

Subject: [Haskell-cafe] Re: Re: Data.Ring -- Pre-announce
From: Maciej Piechotka
Date: Mon, 04 Jan 2010 21:13:23 +0100
On Mon, 2010-01-04 at 07:17 -0700, Luke Palmer wrote:
> 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
> though...
> 
> Luke

However then we lost the monoid (ok. I haven't send patch but please
accept[1]) along with alternative/monad plus - which is much more
popular, standard and useful then Copointed/Comonad.

Additionally it would introduce:
fromList [] = _|_

Is is somehow similar to 0 \in N - sometimes it is better to include it
sometimes to not include it.

Regards

[1]
> instance Monoid CList where
>   mempty = Empry
>   mappend = mplus




_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe

<Prev in Thread] Current Thread [Next in Thread>