Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
A Diagram is a representation of an arrow with labels. No computation is actually performed by a diagram, it just carries around a description. We explot the fact that in 7.10, everything is typeable to label the incoming and outgoing node types.
Synopsis
- newtype NodeProperties = NodeProperties {}
- emptyNodeProperties :: NodeProperties
- data Diagram ex a b where
- Node :: NodeProperties -> Proxy a -> Proxy b -> Diagram ex a b
- Seq :: Diagram ex a b -> Diagram ex b c -> Diagram ex a c
- Par :: Diagram ex a b -> Diagram ex c d -> Diagram ex (a, c) (b, d)
- Fanin :: Diagram ex a c -> Diagram ex b c -> Diagram ex (Either a b) c
- Try :: Diagram ex a b -> Diagram ex a (Either ex b)
- node :: forall arr a b ex. Arrow arr => arr a b -> [Text] -> Diagram ex a b
Documentation
newtype NodeProperties Source #
data Diagram ex a b where Source #
Node :: NodeProperties -> Proxy a -> Proxy b -> Diagram ex a b | |
Seq :: Diagram ex a b -> Diagram ex b c -> Diagram ex a c | |
Par :: Diagram ex a b -> Diagram ex c d -> Diagram ex (a, c) (b, d) | |
Fanin :: Diagram ex a c -> Diagram ex b c -> Diagram ex (Either a b) c | |
Try :: Diagram ex a b -> Diagram ex a (Either ex b) |