Die Arrow-Klassen

class Category cat where 
    id :: cat a a 
    (>>>) :: cat a b -> cat b c -> cat a c
class Category a => Arrow a where
    arr :: (b -> c) -> a b c
    first, second, (&&&), (***)
class Arrow a => ArrowChoice a where
    left, right, (|||), (+++)



Johannes Waldmann 2010-01-25