symantic-base-0.0.0.20200708: src/Symantic/Base/Routable.hs
module Symantic.Base.Routable where
import Data.Eq (Eq)
import Text.Show (Show)
import Symantic.Base.Composable
-- * Class 'Routable'
class Routable repr where
(<!>) = trans2 (<!>)
default (<!>) :: Transformable repr => Routable (UnTrans repr) =>
repr a k -> repr b k -> repr (a:!:b) k
(<!>) :: repr a k -> repr b k -> repr (a:!:b) k
infixr 3 <!>
-- ** Type (':!:')
-- | Like @(,)@ but @infixr@.
data (:!:) a b = a:!:b
deriving (Eq,Show)
infixr 3 :!: