1 module Symantic.Base.Routable where
4 import Text.Show (Show)
6 import Symantic.Base.Composable
9 class Routable repr where
10 x <!> y = noTrans (unTrans x <!> unTrans y)
11 default (<!>) :: Transformable repr => Routable (UnTrans repr) =>
12 repr a k -> repr b k -> repr (a:!:b) k
13 (<!>) :: repr a k -> repr b k -> repr (a:!:b) k
17 -- | Like @(,)@ but @infixr@.
18 data (:!:) a b = a:!:b