lp-diagrams-2.1.4: An EDSL for diagrams based based on linear constraints

Safe HaskellNone
LanguageHaskell2010

Graphics.Diagrams.Core

Synopsis

Documentation

data Expr Source #

Instances
Additive Expr Source # 
Instance details

Defined in Graphics.Diagrams.Core

Methods

(+) :: Expr -> Expr -> Expr #

zero :: Expr #

times :: Natural -> Expr -> Expr #

AbelianAdditive Expr Source # 
Instance details

Defined in Graphics.Diagrams.Core

Group Expr Source # 
Instance details

Defined in Graphics.Diagrams.Core

Methods

(-) :: Expr -> Expr -> Expr #

negate :: Expr -> Expr #

mult :: Integer -> Expr -> Expr #

Module Rational Expr Source # 
Instance details

Defined in Graphics.Diagrams.Core

Methods

(*^) :: Rational -> Expr -> Expr #

Module Constant Expr Source # 
Instance details

Defined in Graphics.Diagrams.Core

Methods

(*^) :: Constant -> Expr -> Expr #

constant :: Double -> Expr Source #

Embed a constant in an expression

absE :: IsDouble a => a -> a Source #

minimize :: Monad m => Expr -> Diagram lab m () Source #

maximize :: Monad m => Expr -> Diagram lab m () Source #

(===) :: Expr -> Expr -> Monad m => Diagram lab m () infix 4 Source #

(>==) :: Expr -> Expr -> Monad m => Diagram lab m () infix 4 Source #

(<==) :: Expr -> Expr -> Monad m => Diagram lab m () infix 4 Source #

(=~=) :: Monad m => Expr -> Expr -> Diagram lab m () Source #

minimize the distance between expressions

newtype Diagram lab m a Source #

Constructors

Dia 

Fields

Instances
Monad m => Monad (Diagram lab m) Source # 
Instance details

Defined in Graphics.Diagrams.Core

Methods

(>>=) :: Diagram lab m a -> (a -> Diagram lab m b) -> Diagram lab m b #

(>>) :: Diagram lab m a -> Diagram lab m b -> Diagram lab m b #

return :: a -> Diagram lab m a #

fail :: String -> Diagram lab m a #

Functor m => Functor (Diagram lab m) Source # 
Instance details

Defined in Graphics.Diagrams.Core

Methods

fmap :: (a -> b) -> Diagram lab m a -> Diagram lab m b #

(<$) :: a -> Diagram lab m b -> Diagram lab m a #

MonadFail m => MonadFail (Diagram lab m) Source # 
Instance details

Defined in Graphics.Diagrams.Core

Methods

fail :: String -> Diagram lab m a #

Monad m => Applicative (Diagram lab m) Source # 
Instance details

Defined in Graphics.Diagrams.Core

Methods

pure :: a -> Diagram lab m a #

(<*>) :: Diagram lab m (a -> b) -> Diagram lab m a -> Diagram lab m b #

liftA2 :: (a -> b -> c) -> Diagram lab m a -> Diagram lab m b -> Diagram lab m c #

(*>) :: Diagram lab m a -> Diagram lab m b -> Diagram lab m b #

(<*) :: Diagram lab m a -> Diagram lab m b -> Diagram lab m a #

Monad m => MonadReader (Env lab m) (Diagram lab m) Source # 
Instance details

Defined in Graphics.Diagrams.Core

Methods

ask :: Diagram lab m (Env lab m) #

local :: (Env lab m -> Env lab m) -> Diagram lab m a -> Diagram lab m a #

reader :: (Env lab m -> a) -> Diagram lab m a #

runDiagram :: Monad m => Backend lab m -> Diagram lab m a -> m a Source #

drawText :: Monad m => Point' Expr -> lab -> Diagram lab m BoxSpec Source #

freeze :: (Functor t, Monad m) => t Expr -> (t Constant -> m ()) -> Diagram lab m () Source #

freeze x f performs f on the frozen value of x.

relax :: Monad m => Rational -> Diagram lab m a -> Diagram lab m a Source #

Relax the optimisation functions by the given factor

tighten :: Monad m => Rational -> Diagram lab m a -> Diagram lab m a Source #

Tighten the optimisation functions by the given factor