{-# OPTIONS_GHC -fglasgow-exts #-} ----------------------------------------------------------------------------- -- | -- Module : Control.Morphism.Span -- Copyright : (C) 2008 Edward Kmett -- License : BSD-style (see the file LICENSE) -- -- Maintainer : Edward Kmett -- Stability : experimental -- Portability : non-portable (rank-2 polymorphism) -- -- Spans and Cospans -- ---------------------------------------------------------------------------- module Control.Morphism.Span ( Span(..) , Cospan(..) ) where newtype Span (~>) x y z = Span { runSpan :: (y ~> x, y ~> z) } newtype Cospan (~>) x y z = Cospan { runCospan :: (x ~> y, z ~> y) }