<div dir="ltr">I've been playing around with various implementations like this. Interestingly, this more general version allows nested "idiom brackets" whilst a more specific implementation (such as the one on the haskell wiki) doesn't. Any ideas why?<div><br></div><div>The two implementations I have been testing this with are <a href="https://gist.github.com/mpickering/e19f6a5590a74fc36752">https://gist.github.com/mpickering/e19f6a5590a74fc36752</a></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Feb 20, 2015 at 7:12 PM, adam vogt <span dir="ltr"><<a href="mailto:vogt.adam@gmail.com" target="_blank">vogt.adam@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On Thu, Feb 19, 2015 at 10:42 AM, Christopher Done <<a href="mailto:chrisdone@gmail.com">chrisdone@gmail.com</a>> wrote:<br>
> Right, I see three use-cases:<br>
><br>
> * Some things are foldable cleanly like monoids, so you can just<br>
> mconcat [x,y,z] and that'll be inlined (I think).<br>
> * Other things like x <|> y is not the same as asum [x,y] due to the<br>
> additional mempty being introduced. You can also use foldl1 kind of<br>
> functions, but they are partial and therefore not desirable.<br>
> * Finally, things like <*>, $=, $, ., #/:& (e.g. in HList/vinyl) can't<br>
> be folded at all, because the types are different.<br>
><br>
> The third use-case doesn't have a solution that I'm aware of. So this<br>
> solves that. It also solves the second use-case, which has only a<br>
> partial (he he) solution. The first use-case is just a bonus. Should I<br>
> add this clarification to the proposal?<br>
<br>
</span>I think this is a half-solution to the third option:<br>
<br>
<a href="https://gist.github.com/aavogt/433969cc83548e1f59ea" target="_blank">https://gist.github.com/aavogt/433969cc83548e1f59ea</a><br>
<br>
Rather than adding more syntax, maybe it's better to make polymorphic<br>
functions/values easier to create. Writing instances of ApplyAB is a<br>
pain, but ghc could help, as it does with this quasiquoter<br>
<a href="http://lpaste.net/114788" target="_blank">http://lpaste.net/114788</a>.<br>
<br>
Regards,<br>
Adam<br>
<div class="HOEnZb"><div class="h5">_______________________________________________<br>
Haskell-Cafe mailing list<br>
<a href="mailto:Haskell-Cafe@haskell.org">Haskell-Cafe@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe</a><br>
</div></div></blockquote></div><br></div>