<div dir="ltr"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small">You might be on2 something.<br><br>But then you rename it in Data.Function too and break backward compat??</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Sep 12, 2019 at 10:55 AM David Feuer <<a href="mailto:david.feuer@gmail.com">david.feuer@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto">For whatever it's worth, the unidiomatic but arguably more logical name `on2` has no hits on Hoogle.</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Sep 10, 2019, 6:59 PM David Feuer <<a href="mailto:david.feuer@gmail.com" rel="noreferrer" target="_blank">david.feuer@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto"><div>Indeed, there are a lot more conflicts than I'd have expected. Ignoring functions with the same type, Hoogle shows this name in the below packages. I have no sense of the overall significance of the specific packages or (equally importantly) of the `on` function within each.<div dir="auto"><br></div><div dir="auto">haskell-gi-base:</div><div dir="auto">on :: forall object info m . (GObject object, MonadIO m, SignalInfo info) => object -> SignalProxy object info -> HaskellCallbackType info -> m SignalHandlerId<br></div><div dir="auto"><br></div><div dir="auto">brick:</div><div dir="auto">on :: Color -> Color -> Attr<br></div><div dir="auto"><br></div><div dir="auto">esqueletto:</div><div dir="auto">on :: SqlExpr (Value Bool) -> SqlQuery ()<br></div><div dir="auto"><br></div><div dir="auto">relational-query (both):</div><div dir="auto">on :: MonadQuery m => Predicate Flat -> m ()<br></div><div dir="auto">on :: MonadQuery m => QueryA m (Predicate Flat) ()<br></div><div dir="auto"><br></div><div dir="auto">threepenny-gui:</div><div dir="auto">on :: (element -> Event a) -> element -> (a -> UI void) -> UI ()<br></div><div dir="auto"><br></div><div dir="auto">miso:</div><div dir="auto">on :: MisoString -> Decoder r -> (r -> action) -> Attribute action<br></div><div dir="auto"><br></div><div dir="auto">wild-bind:</div><div dir="auto">on :: i -> v -> Binder i v ()<br></div><div dir="auto"><br></div><div dir="auto">massiv-io:</div><div dir="auto">on :: Pixel X Bit<br></div><div dir="auto"><br></div><div dir="auto">selda-postgresql:</div><div dir="auto">on :: Text -> Text -> PGConnectInfo</div><br><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Sep 10, 2019, 6:42 PM Ryan Trinkle <<a href="mailto:ryan.trinkle@gmail.com" rel="noreferrer noreferrer" target="_blank">ryan.trinkle@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">One note: this does conflict with some other libraries, for instance GTK2HS<br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Sep 10, 2019 at 6:26 PM chessai . <<a href="mailto:chessai1996@gmail.com" rel="noreferrer noreferrer noreferrer" target="_blank">chessai1996@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto">+1</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Sep 10, 2019, 5:53 PM David Feuer <<a href="mailto:david.feuer@gmail.com" rel="noreferrer noreferrer noreferrer" target="_blank">david.feuer@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto">Every time I reach for Data.Function.on, I feel like a total dolt for having to import a module to get a function whose implementation is barely longer than the import. And it's a really good function too! Can we please add it to the Prelude?<div dir="auto"><br></div><div dir="auto"><div dir="auto"> on :: (b -> b -> c) -> (a -> b) -> a -> a -> c</div><div dir="auto"> (.*.) `on` f = \x y -> f x .*. f y</div></div></div>
_______________________________________________<br>
Libraries mailing list<br>
<a href="mailto:Libraries@haskell.org" rel="noreferrer noreferrer noreferrer noreferrer" target="_blank">Libraries@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries" rel="noreferrer noreferrer noreferrer noreferrer noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries</a><br>
</blockquote></div>
_______________________________________________<br>
Libraries mailing list<br>
<a href="mailto:Libraries@haskell.org" rel="noreferrer noreferrer noreferrer" target="_blank">Libraries@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries" rel="noreferrer noreferrer noreferrer noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries</a><br>
</blockquote></div>
</blockquote></div></div></div>
</blockquote></div>
_______________________________________________<br>
Libraries mailing list<br>
<a href="mailto:Libraries@haskell.org" target="_blank">Libraries@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries</a><br>
</blockquote></div>