Yeah, it would probably have to have a new name because it does have a
different kind than the existing Endo. GEndo was the best I could come
up with that didn't sound verbose (GeneralizedEndo, CategoricalEndo) or
like it was naming the wrong thing (EndoCategory). I'm not wedded to
the name by any means.<br>
<br>
Note: a type synonym,<br>
<br>
> type Endo = GEndo (->)<br>
<br>
like you mentioned would work, but has the downside that it may require clients that
provided instances for Endo to add TypeSynonymInstances where they
previously hadn't and I'm not sure how folks would feel about that.<br>
<br>-Edward Kmett<br><br><div class="gmail_quote">On Wed, Jul 8, 2009 at 2:05 PM, <span dir="ltr"><<a href="mailto:roconnor@theorem.ca">roconnor@theorem.ca</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="im">On Wed, 8 Jul 2009, Edward Kmett wrote:<br>
<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
+1 in favor of generalizing Endo in Data.Monoid.<br>
<br>
In my monoids library I have a Data.Monoid.Categorical that includes a 'GEndo' generalized endomorphism<br>
over an arbitrary category and I would love to be able to remove it.<br>
<br>
-Edward Kmett<br>
</blockquote>
<br></div>
I was looking for this in your lib, but I didn't find it.<br>
<br>
Anyhow, I'm also in favour of generalizing Endo. I was being conservitive with my initial proposal.<br>
<br>
Would we still have to pick a new name and then<br>
<br>
type Endo a = NewEndoName (->) a<div class="im"><br>
<br>
?<br>
<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
In Data.Monoid there is<br>
<br>
newtype Endo a = Endo { appEndo :: a -> a }<br>
<br>
instance Monoid (Endo a) where<br>
mempty = Endo id<br>
Endo f `mappend` Endo g = Endo (f . g)<br>
<br>
and (->) is an instance of Category, so perhaps we should generalize Endo.<br>
<br>
The name EndoCategory seems wrong, as this won't be an instance of Category.<br>
Endomorphism?<br>
_______________________________________________<br>
Libraries mailing list<br>
<a href="mailto:Libraries@haskell.org" target="_blank">Libraries@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/libraries" target="_blank">http://www.haskell.org/mailman/listinfo/libraries</a><br>
<br>
<br>
<br>
<br>
</blockquote>
<br></div><div><div></div><div class="h5">
-- <br>
Russell O'Connor <<a href="http://r6.ca/" target="_blank">http://r6.ca/</a>><br>
``All talk about `theft,''' the general counsel of the American Graphophone<br>
Company wrote, ``is the merest claptrap, for there exists no property in<br>
ideas musical, literary or artistic, except as defined by statute.''</div></div><br>_______________________________________________<br>
Libraries mailing list<br>
<a href="mailto:Libraries@haskell.org">Libraries@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/libraries" target="_blank">http://www.haskell.org/mailman/listinfo/libraries</a><br>
<br></blockquote></div><br>