> Can you live with
>infixl |$|
>(|$|) :: [a -> r] -> a -> [r]
>fs |$| x = map ($ x) fs
> and, instead of "broadcast fs a b" use
>fs |$| a |$| b
> ?
map ($ x) fs
= { Applicative Functors satisfy... }
pure ($ x) <*> fs
= { 'interchange' rule from Control.Applicative }
fs <*>
On Fri, 2009-02-13 at 11:15 +1100, John Ky wrote:
> Hi Johnaton,
>
> Ah yes. That makes sense. Is there a way to define type r to be all
> types except functions?
Not without overlapping instances. I *think* if you turn on {-#
LANGUAGE OverlappingInstances #-} then
instance Broadcast r wher
Hi Johnaton,
Ah yes. That makes sense. Is there a way to define type r to be all types
except functions?
-John
On Fri, Feb 13, 2009 at 10:44 AM, Jonathan Cast
wrote:
> On Fri, 2009-02-13 at 10:34 +1100, John Ky wrote:
> > Hi Haskell Cafe,
> >
> > I tried using type families over functions, bu
Hi Miguel,
That's a nice way of writing it.
Thanks,
-John
On Fri, Feb 13, 2009 at 10:42 AM, Miguel Mitrofanov
wrote:
> What do you need that for?
>
> Can you live with
>
> infixl |$|
> (|$|) :: [a -> r] -> a -> [r]
> fs |$| x = map ($ x) fs
>
> and, instead of "broadcast fs a b" use
>
> fs |$|
On Fri, 2009-02-13 at 10:34 +1100, John Ky wrote:
> Hi Haskell Cafe,
>
> I tried using type families over functions, but when I try it
> complains that the two lines marked conflict with each other.
>
> class Broadcast a where
>type Return a
>broadcast :: a -> Return a
> instance Broadca
What do you need that for?
Can you live with
infixl |$|
(|$|) :: [a -> r] -> a -> [r]
fs |$| x = map ($ x) fs
and, instead of "broadcast fs a b" use
fs |$| a |$| b
?
On 13 Feb 2009, at 02:34, John Ky wrote:
Hi Haskell Cafe,
I tried using type families over functions, but when I try it
c