
3 Aug
2007
3 Aug
'07
1:32 p.m.
On 8/3/07, Lewis-Sandy, Darrell
Is there a class property of the Control.Arrow class that represents the evaluatation of an arrow:
eval :: (Arrow a)=>a b c->b->c
There isn't because that type signature isn't valid in general. Consider the Kleisli arrows, for instance: how would you write eval :: Kleisli (State Int) Int Int -> Int -> Int? You need to get the initial state from somewhere... similar problems would exist for Kleisli IO Int Int. /g -- The man who'd introduced them didn't much like either of them, though he acted as if he did, anxious as he was to preserve good relations at all times. One never knew, after all, now did one now did one now did one.