wumpus-basic-0.18.0: Basic objects and system code built on Wumpus-Core.

PortabilityGHC
Stabilityhighly unstable
Maintainerstephen.tetley@gmail.com

Wumpus.Basic.Kernel.Base.WrappedPrimitive

Contents

Description

Wrapped versions of the Primitive type from Wumpus-Core.

This file is essentially internal to Wumpus-Basic.

Synopsis

Primitives

data CatPrim Source

A wrapped version of Primitive from Wumpus-Core that supports Monoid.

This type is essentially internal to Wumpus-Basic.

data HPrim u Source

Graphics objects, even simple ones (line, arrow, dot) might need more than one primitive (path or text label) for their construction. Hence, the primary representation that all the others are built upon must support concatenation of primitives.

Wumpus-Core has a type Picture - made from one or more Primitives - but Pictures include support for affine frames. For drawing many simple graphics (dots, connector lines...) that do not need individual affine transformations this is a penalty. A list of Primitives is therefore more suitable representation, and a Hughes list which supports efficient concatenation is wise.

This type is essentially internal to Wumpus-Basic.

Instances

hprimToList :: HPrim u -> [Primitive]Source

Extract the internal list of Primitive from a HPrim.

singleH :: CatPrim -> HPrim uSource

Form a HPrim from a CatPrim.