wumpus-basic-0.13.0: Common drawing utilities built on wumpus-core.

PortabilityGHC
Stabilityunstable
Maintainerstephen.tetley@gmail.com

Wumpus.Basic.Monads.TurtleMonad

Contents

Description

Turtle monad transformer.

The Turtle monad embodies the LOGO style of imperative drawing - sending commands to update the a cursor.

While Wumpus generally aims for a more compositional, "coordinate-free" style of drawing, some types of diagram are more easily expressed in the LOGO style.

Turtle is only a transformer - it is intended to be run within a Drawing.

Synopsis

Re-exports

Turtle transformer

data TurtleT u m a Source

Instances

Monad m => Monad (TurtleT u m) 
Monad m => Functor (TurtleT u m) 
Monad m => Applicative (TurtleT u m) 
Monad m => TurtleM (TurtleT u m) 
(u ~ MonUnit m, Monad m, Num u) => PointSupplyM (TurtleT u m) 
DrawingCtxM m => DrawingCtxM (TurtleT u m) 
(u ~ MonUnit m, Monad m, TraceM m) => TraceM (TurtleT u m) 

runTurtleT :: (Monad m, Num u) => (Int, Int) -> ScalingContext Int Int u -> TurtleT u m a -> m aSource