Wired-0.2.2: Wire-aware hardware description

Layout.Internal

Documentation

data Distance Source

Constructors

Dist Length 

Instances

data Block spaceSize s b Source

Constructors

Space spaceSize (Maybe s) 
Box Size Orientation Name b 

Instances

(Eq spaceSize, Eq s, Eq b) => Eq (Block spaceSize s b) 
(Show spaceSize, Show s, Show b) => Show (Block spaceSize s b) 

type AbsBlock s b = Block (Angle, Length) s bSource

data Floorplan s b Source

Constructors

Block (RelBlock s b) 
Comb Placement [Floorplan s b] 

Instances

(Eq s, Eq b) => Eq (Floorplan s b) 
(Show s, Show b) => Show (Floorplan s b) 
Transformable (Floorplan s b) 

rotate :: Transformable a => Int -> a -> aSource

class Show a => PSShow a whereSource

Methods

psShow :: a -> PostscriptSource

newtype Layout s b a Source

Constructors

Layout (ReaderT Placement (Writer [Floorplan s b]) a) 

Instances

MonadLayout s b (Layout s b) 
Monad (Layout s b) 
MonadFix (Layout s b) 

newtype LayoutT s b m a Source

Constructors

LayoutT (ReaderT Placement (WriterT [Floorplan s b] m) a) 

Instances

Monad m => MonadLayout s b (LayoutT s b m) 
MonadLava lib m => MonadLava lib (LayoutT s b m) 
MonadTrans (LayoutT s b) 
Monad m => Monad (LayoutT s b m) 
MonadFix m => MonadFix (LayoutT s b m) 

runLayout :: Layout s b a -> (a, Floorplan s b)Source

runLayoutT :: Monad m => LayoutT s b m a -> m (a, Floorplan s b)Source

renderLayoutT :: Monad m => (forall a. m a -> a) -> Name -> LayoutT s b m a -> IO ()Source

class Monad m => MonadLayout s b m | m -> s b whereSource

Methods

currentPlacement :: m PlacementSource

space_ :: Length -> Maybe s -> m ()Source

block_ :: Width -> Height -> Name -> b -> m ()Source

subLayout :: Placement -> m a -> m aSource

transformFloorplan :: (Floorplan s b -> Floorplan s b) -> m a -> m aSource

Instances

MonadLayout s b (Layout s b) 
Monad m => MonadLayout s b (LayoutT s b m) 

space :: MonadLayout s b m => Length -> a -> m aSource

block :: MonadLayout s b m => Width -> Height -> Name -> b -> a -> m aSource

rightwards :: MonadLayout s b m => m a -> m aSource

leftwards :: MonadLayout s b m => m a -> m aSource

upwards :: MonadLayout s b m => m a -> m aSource

downwards :: MonadLayout s b m => m a -> m aSource

rightwards' :: MonadLayout s b m => m a -> m aSource

leftwards' :: MonadLayout s b m => m a -> m aSource

upwards' :: MonadLayout s b m => m a -> m aSource

downwards' :: MonadLayout s b m => m a -> m aSource

unplaced :: MonadLayout s b m => m a -> m aSource

stacked :: MonadLayout s b m => m a -> m aSource

translate :: MonadLayout s bl m => XPos -> YPos -> m a -> m aSource