On Sat, Mar 19, 2005 at 07:48:09AM -0700, Kevin Atkinson wrote:
Your module uses the arrow interface, but it's actually equivalent to monads.
It is? Than what would "app" look like?
My mistake: FG' is a Kliesli arrow, but FG isn't.
Has anyone tried to make Fudgets an instance of the Arrow class?
see the stream processors in John Hughes's original paper.
- 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.
- 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.