Writer monad with imperative turtle style movement to build LocGraphics and references allowing connectors between objects.
Note - references are not feedback. Subsequent nodes cannot be place at anchors of previous nodes - anchors only allow connectors to be drawn between located nodes.
- class Monad m => LocTraceM m where
- data RefTrace u z a
- data RefTraceT u z m a
- data Ref
- class Monad m => RefTraceM m where
- runRefTrace :: Num u => RefTrace u ans a -> LocImage u a
- runRefTraceT :: (Monad m, Num u) => RefTraceT u ans m a -> m (LocImage u a)
- unaryLink :: (ans -> Point2 u) -> LocGraphic u -> Ref -> LinkRef u ans
- binaryLink :: (ans -> Point2 u) -> (ans -> Point2 u) -> ConnectorGraphic u -> Ref -> Ref -> LinkRef u ans
- multiwayLink :: (ans -> Point2 u) -> ([Point2 u] -> Graphic u) -> [Ref] -> LinkRef u ans
insertl analogue to Writer monad