module ArrowReadShow(module ArrowPlus, module ArrowReadShow) where import ArrowPlus import Prec(Prec) class ArrowZero q => ArrowSymbol q where readSymbol :: String -> q a a showSymbol :: String -> q a a {- -- This would need functional dependencies class ArrSym s q {- | q -> s -} where rS :: s -> q a a sS :: s -> q a a -} class ArrowSymbol q => ArrowPrec q where setPrec :: Prec -> q a b -> q a b mayReadParen :: Prec -> q a b -> q a b mayShowParen :: Prec -> q a b -> q a b class (ArrowChoice q, ArrowPlus q, ArrowPrec q) => ArrowReadShow q