On Sat, 19 Mar 2005 [EMAIL PROTECTED] wrote: > On Sat, Mar 19, 2005 at 07:48:09AM -0700, Kevin Atkinson wrote:
> > Has anyone tried to make Fudgets an instance of the Arrow class? > > see the stream processors in John Hughes's original paper. I will have a closer look. > > > - how about: data Event a = NoEvent | Event a > > > > And what would "a" be? > > The thing you currently always pair with an Event, and ignore if it's > NoEvent. But that value may also be used even if there is not an event. For example you may want to read the current value of an Entry or a ToggleButton. > > > - you don't really need mkAFunDef in AbstractFunction, and indeed you > > > don't need AbstractFunction either -- you could just use Arrow, of > > > which both (->) and FG are already instances. > > > > But than can I make a function like "tag" which can either be used as an > > arrow or a function. > > But functions are arrows: (->) is an instance of the Arrow class. But of separate Arrow instances. For example if I redefine tag from tag :: (AbstractFunction f) => b -> f (Event, a) (Event, b) tag v = mkAFun (\(e, _) -> (e, v)) to tag :: b -> (Event, a) -> (Event, b) tag v = \(e, _) -> (e, v) Than I couldn't do as I gave in my example: a <- tag "a" <<< button [] -< def -- http://kevin.atkinson.dhs.org _______________________________________________ Haskell mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell
