Hi Miguel,<br><br>That&#39;s a nice way of writing it.<br><br>Thanks,<br><br>-John<br><br><div class="gmail_quote">On Fri, Feb 13, 2009 at 10:42 AM, Miguel Mitrofanov <span dir="ltr">&lt;<a href="mailto:miguelimo38@yandex.ru">miguelimo38@yandex.ru</a>&gt;</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;">What do you need that for?<br>
<br>
Can you live with<br>
<br>
infixl |$|<br>
(|$|) :: [a -&gt; r] -&gt; a -&gt; [r]<br>
fs |$| x = map ($ x) fs<br>
<br>
and, instead of &quot;broadcast fs a b&quot; use<br>
<br>
fs |$| a |$| b<br>
<br>
?<div><div></div><div class="Wj3C7c"><br>
<br>
On 13 Feb 2009, at 02:34, John Ky wrote:<br>
<br>
</div></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div><div></div><div class="Wj3C7c">
Hi Haskell Cafe,<br>
<br>
I tried using type families over functions, but when I try it complains that the two lines marked conflict with each other.<br>
<br>
class Broadcast a where<br>
 &nbsp; type Return a<br>
 &nbsp; broadcast :: a -&gt; Return a<br>
<br>
instance Broadcast [a -&gt; r] where<br>
 &nbsp; type Return [a -&gt; r] = a -&gt; [r] -- Conflict!<br>
 &nbsp; broadcast fs a = []<br>
<br>
instance Broadcast [a -&gt; b -&gt; r] where<br>
 &nbsp; type Return [a -&gt; b -&gt; r] = a -&gt; b -&gt; [r] -- Conflict!<br>
 &nbsp; broadcast fs a b = []<br>
<br>
Given that in Haskell, every function of n+1 arguments is also a function of n arguments, this is likely the cause of the conflict.<br>
<br>
In this case, currying is not my friend.<br>
<br>
Unfortunately this means I&#39;m stuck with numbered function names:<br>
<br>
bc0 :: [r] -&gt; [r]<br>
bc0 rs = rs<br>
<br>
bc1 :: [a -&gt; r] -&gt; a -&gt; [r]<br>
bc1 [] a = []<br>
bc1 (r:rs) a = (r a):bc1 rs a<br>
<br>
bc2 rs a b = rs `bc1` a `bc1` b<br>
<br>
bc3 rs a b c = rs `bc1` a `bc1` b `bc1` c<br>
<br>
-- etc<br>
<br>
Cheers,<br>
<br>
-John<br>
<br></div></div>
_______________________________________________<br>
Haskell-Cafe mailing list<br>
<a href="mailto:Haskell-Cafe@haskell.org" target="_blank">Haskell-Cafe@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br>
</blockquote>
<br>
</blockquote></div><br>