<div dir="ltr">Are there any real cases that the polymorphism of Control.Category.. becomes a real problem? I think ambiguity rarely occurs on the kind (* -> * -> *).</div><div class="gmail_extra"><br><div class="gmail_quote">2017-02-10 14:35 GMT+09:00 Anthony Clayden <span dir="ltr"><<a href="mailto:anthony_clayden@clear.net.nz" target="_blank">anthony_clayden@clear.net.nz</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I see Simon PJ's comment here<br>
<a href="https://github.com/ghc-proposals/ghc-proposals/pull/6#issuecomment-277971802" rel="noreferrer" target="_blank">https://github.com/ghc-<wbr>proposals/ghc-proposals/pull/<wbr>6#issuecomment-277971802</a><br>
and the lengthy discussions from different advocates.<br>
<br>
How much is it true there's a fractured "Haskell ecosystem"<br>
with 2 (3?) incompatible approaches:<br>
* H98 style labelled records with various extensions to ease<br>
the pain.<br>
* newtype-wrapped Lenses<br>
* 'raw' (unwrapped) Lenses<br>
<br>
Can you mix those three styles inside one program? How much<br>
pain does it cause?<br>
<br>
Can you import libraries with a mix of styles? How does a<br>
program cope?<br>
<br>
I see the plethora of operators Lenses come with<br>
 (mostly to keep the types coherent?).<br>
Except that Lens composition is plain function composition<br>
(.).<br>
<br>
I remember something from SPJ's video/lecture on Lenses:<br>
that having Lens composition turn out to be function<br>
composition is "cute".<br>
That suggests to me it's more of a happy accident than a<br>
necessary feature.<br>
<br>
I also see in the ORF proposal, OverloadedLabels part,<br>
that composing with Control.Category.(.) can lead to type<br>
ambiguity.<br>
<br>
I wonder:<br>
Could there be a dedicated operator for composing Lenses,<br>
that has the same semantics as (.),<br>
but a more specialised type?<br>
To strengthen type inference/reduce ambiguity.<br>
<br>
<br>
AntC<br>
______________________________<wbr>_________________<br>
Haskell-Cafe mailing list<br>
To (un)subscribe, modify options or view archives go to:<br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-<wbr>bin/mailman/listinfo/haskell-<wbr>cafe</a><br>
Only members subscribed via the mailman list are allowed to post.</blockquote></div><br></div>