-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Functional MetaPost is a Haskell frontend to the MetaPost language
--
-- Functional MetaPost is a Haskell frontend to the MetaPost language by
-- John Hobby. Users write their graphics as Haskell programs, which then
-- emit MetaPost code that can be compiled into encapsulated PostScript
-- files and smoothly included into e.g. LaTeX.
--
-- A collection of useful examples how to use Functional MetaPost can be
-- found in the user's manual. The document doesn't offer very
-- much detail in terms of explanations, but the code samples are quite
-- helpful. Further documentation can be found in the original
-- thesis that describes the implementation. The text is also
-- available in German.
--
-- Last but not least, there is a tutorial that offers many
-- helpful examples (which is also available in German).
@package funcmp
@version 1.9
module FMP.Color
data Color
DefaultColor :: Color
Color :: Double -> Double -> Double -> Color
Graduate :: Color -> Color -> Double -> Int -> Color
class HasColor a
setColor :: HasColor a => Color -> a -> a
setDefaultColor :: HasColor a => a -> a
getColor :: HasColor a => a -> Color
class HasBGColor a
setBGColor :: HasBGColor a => Color -> a -> a
setDefaultBGColor :: HasBGColor a => a -> a
getBGColor :: HasBGColor a => a -> Color
white :: Color
black :: Color
red :: Color
green :: Color
blue :: Color
yellow :: Color
cyan :: Color
magenta :: Color
grey :: Double -> Color
color :: Double -> Double -> Double -> Color
hsv2rgb :: (Double, Double, Double) -> Color
graduateLow :: Color -> Color -> Double -> Color
graduateMed :: Color -> Color -> Double -> Color
graduateHigh :: Color -> Color -> Double -> Color
graduate :: Color -> Color -> Double -> Int -> Color
instance GHC.Read.Read FMP.Color.Color
instance GHC.Show.Show FMP.Color.Color
instance GHC.Classes.Eq FMP.Color.Color
instance GHC.Num.Num FMP.Color.Color
instance GHC.Real.Fractional FMP.Color.Color
module FMP.File
data Parameters
Parameters :: String -> String -> Double -> Bool -> String -> Parameters
[mpBin] :: Parameters -> String
[funcmpBin, funcmpRTS] :: Parameters -> String
[defaultDX, defaultDY, textDX, textDY] :: Parameters -> Double
[newmp] :: Parameters -> Bool
[prolog, epilog] :: Parameters -> String
fileExists :: String -> IO a -> (IOError -> IO a) -> IO a
clearFile :: String -> IO a -> (IOError -> IO a) -> IO a
getParameters :: IO Parameters
instance GHC.Show.Show FMP.File.Parameters
instance GHC.Read.Read FMP.File.Parameters
instance GHC.Classes.Eq FMP.File.Parameters
module FMP.Types
class HasMed a
med :: HasMed a => Numeric -> a -> a -> a
class HasDefault a
default' :: HasDefault a => a
data Dir
C :: Dir
N :: Dir
NE :: Dir
E :: Dir
SE :: Dir
S :: Dir
SW :: Dir
W :: Dir
NW :: Dir
data Pen
DefaultPen :: Pen
PenSquare :: (Numeric, Numeric) -> Numeric -> Pen
PenCircle :: (Numeric, Numeric) -> Numeric -> Pen
data Pattern
DefaultPattern :: Pattern
DashPattern :: [Double] -> Pattern
data Equation
NEquations :: [Numeric] -> Equation
PEquations :: [Point] -> Equation
Equations :: [Equation] -> Equation
EquationCond :: Boolean -> Equation -> Equation -> Equation
data Boolean
Boolean :: Bool -> Boolean
BoolNum :: Numeric -> BoolRelat -> Numeric -> Boolean
BoolPnt :: Point -> BoolRelat -> Point -> Boolean
BoolOr :: Boolean -> Boolean -> Boolean
BoolAnd :: Boolean -> Boolean -> Boolean
BoolNot :: Boolean -> Boolean
data BoolRelat
BoolEQ :: BoolRelat
BoolL :: BoolRelat
BoolLE :: BoolRelat
BoolNE :: BoolRelat
data Point
PointPic' :: Int -> Dir -> Point
PointVar' :: Int -> Int -> Point
PointVarArray' :: Int -> Int -> Point
PointTrans' :: Point -> [Int] -> Point
PointVar :: Name -> Point
PointVec :: (Numeric, Numeric) -> Point
PointMediate :: Numeric -> Point -> Point -> Point
PointDirection :: Numeric -> Point
PointWhatever :: Point
PointPPP :: FunPPP -> Point -> Point -> Point
PointNMul :: Numeric -> Point -> Point
PointNeg :: Point -> Point
PointCond :: Boolean -> Point -> Point -> Point
data Numeric
NumericVar' :: Int -> Int -> Numeric
NumericArray' :: Int -> Int -> Numeric
NumericVar :: Name -> Numeric
Numeric :: Double -> Numeric
NumericWhatever :: Numeric
NumericDist :: Point -> Point -> Numeric
NumericMediate :: Numeric -> Numeric -> Numeric -> Numeric
NumericPN :: FunPN -> Point -> Numeric
NumericNN :: FunNN -> Numeric -> Numeric
NumericNNN :: FunNNN -> Numeric -> Numeric -> Numeric
NumericNsN :: FunNsN -> [Numeric] -> Numeric
NumericCond :: Boolean -> Numeric -> Numeric -> Numeric
data FunPPP
PPPAdd :: FunPPP
PPPSub :: FunPPP
PPPDiv :: FunPPP
data FunPN
PNXPart :: FunPN
PNYPart :: FunPN
PNAngle :: FunPN
data FunNN
NNSinD :: FunNN
NNCosD :: FunNN
NNSqrt :: FunNN
NNExp :: FunNN
NNLog :: FunNN
NNRound :: FunNN
NNCeil :: FunNN
NNFloor :: FunNN
NNNeg :: FunNN
data FunNNN
NNNAdd :: FunNNN
NNNSub :: FunNNN
NNNMul :: FunNNN
NNNDiv :: FunNNN
NNNPyth :: FunNNN
NNNPower :: FunNNN
data FunNsN
NsNMin :: FunNsN
NsNMax :: FunNsN
class HasRelax a
relax :: HasRelax a => a
class HasCond a
cond :: HasCond a => Boolean -> a -> a -> a
penSquare :: (Numeric, Numeric) -> Numeric -> Pen
penCircle :: (Numeric, Numeric) -> Numeric -> Pen
dashed :: Pattern
dotted :: Pattern
dashPattern :: [Double] -> Pattern
dashPattern' :: [Double] -> Pattern
boolean :: Bool -> Boolean
equations :: [Equation] -> Equation
vec :: (Numeric, Numeric) -> Point
dir :: Numeric -> Point
xy :: Point -> Point -> Point
(.*) :: Numeric -> Point -> Point
infixr 7 .*
pi :: Floating a => a
exp :: Floating a => a -> a
log :: Floating a => a -> a
sqrt :: Floating a => a -> a
(**) :: Floating a => a -> a -> a
infixr 8 **
sin :: Floating a => a -> a
cos :: Floating a => a -> a
tan :: Floating a => a -> a
asin :: Floating a => a -> a
acos :: Floating a => a -> a
atan :: Floating a => a -> a
sinh :: Floating a => a -> a
cosh :: Floating a => a -> a
tanh :: Floating a => a -> a
asinh :: Floating a => a -> a
acosh :: Floating a => a -> a
atanh :: Floating a => a -> a
pythAdd :: Numeric -> Numeric -> Numeric
xpart :: Point -> Numeric
ypart :: Point -> Numeric
angle :: Point -> Numeric
minimum' :: [Numeric] -> Numeric
maximum' :: [Numeric] -> Numeric
width :: IsName a => a -> Numeric
height :: IsName a => a -> Numeric
xdist :: Point -> Point -> Numeric
ydist :: Point -> Point -> Numeric
dist :: Point -> Point -> Numeric
(.=) :: IsEquation a => a -> a -> Equation
infixr 5 .=
(.==) :: IsBoolean a => a -> a -> Boolean
(./=) :: IsBoolean a => a -> a -> Boolean
(.<) :: IsBoolean a => a -> a -> Boolean
(.<=) :: IsBoolean a => a -> a -> Boolean
equal :: IsEquation a => [a] -> Equation
whatever :: HasWhatever a => a
data Name
NameInt :: Int -> Name
NameStr :: String -> Name
NameDir :: Dir -> Name
Hier :: Name -> Name -> Name
Global :: Name -> Name
global :: (IsName a) => a -> Name
ref :: IsName a => a -> Point
var :: IsName a => a -> Numeric
(<+) :: (IsName a, IsName b) => a -> b -> Name
infixr 0 <+
(<*) :: (IsName a) => Int -> a -> Name
infixr 0 <*
class IsName a
toName :: IsName a => a -> Name
toNameList :: IsName a => [a] -> Name
instance GHC.Read.Read FMP.Types.Pen
instance GHC.Show.Show FMP.Types.Pen
instance GHC.Classes.Eq FMP.Types.Pen
instance GHC.Read.Read FMP.Types.Equation
instance GHC.Show.Show FMP.Types.Equation
instance GHC.Classes.Eq FMP.Types.Equation
instance GHC.Classes.Ord FMP.Types.Boolean
instance GHC.Read.Read FMP.Types.Boolean
instance GHC.Show.Show FMP.Types.Boolean
instance GHC.Classes.Eq FMP.Types.Boolean
instance GHC.Classes.Ord FMP.Types.Point
instance GHC.Read.Read FMP.Types.Point
instance GHC.Show.Show FMP.Types.Point
instance GHC.Classes.Eq FMP.Types.Point
instance GHC.Classes.Ord FMP.Types.Numeric
instance GHC.Read.Read FMP.Types.Numeric
instance GHC.Show.Show FMP.Types.Numeric
instance GHC.Classes.Eq FMP.Types.Numeric
instance GHC.Classes.Ord FMP.Types.FunNsN
instance GHC.Read.Read FMP.Types.FunNsN
instance GHC.Show.Show FMP.Types.FunNsN
instance GHC.Classes.Eq FMP.Types.FunNsN
instance GHC.Classes.Ord FMP.Types.FunNNN
instance GHC.Read.Read FMP.Types.FunNNN
instance GHC.Show.Show FMP.Types.FunNNN
instance GHC.Classes.Eq FMP.Types.FunNNN
instance GHC.Classes.Ord FMP.Types.FunNN
instance GHC.Read.Read FMP.Types.FunNN
instance GHC.Show.Show FMP.Types.FunNN
instance GHC.Classes.Eq FMP.Types.FunNN
instance GHC.Classes.Ord FMP.Types.FunPN
instance GHC.Read.Read FMP.Types.FunPN
instance GHC.Show.Show FMP.Types.FunPN
instance GHC.Classes.Eq FMP.Types.FunPN
instance GHC.Classes.Ord FMP.Types.FunPPP
instance GHC.Read.Read FMP.Types.FunPPP
instance GHC.Show.Show FMP.Types.FunPPP
instance GHC.Classes.Eq FMP.Types.FunPPP
instance GHC.Classes.Ord FMP.Types.Name
instance GHC.Classes.Eq FMP.Types.Name
instance GHC.Read.Read FMP.Types.Name
instance GHC.Show.Show FMP.Types.Name
instance GHC.Classes.Ord FMP.Types.BoolRelat
instance GHC.Read.Read FMP.Types.BoolRelat
instance GHC.Show.Show FMP.Types.BoolRelat
instance GHC.Classes.Eq FMP.Types.BoolRelat
instance GHC.Read.Read FMP.Types.Pattern
instance GHC.Show.Show FMP.Types.Pattern
instance GHC.Classes.Eq FMP.Types.Pattern
instance GHC.Classes.Ord FMP.Types.Dir
instance GHC.Enum.Enum FMP.Types.Dir
instance GHC.Show.Show FMP.Types.Dir
instance GHC.Read.Read FMP.Types.Dir
instance GHC.Classes.Eq FMP.Types.Dir
instance FMP.Types.HasMed FMP.Types.Point
instance FMP.Types.HasMed FMP.Types.Numeric
instance GHC.Num.Num FMP.Types.Pen
instance GHC.Real.Fractional FMP.Types.Pen
instance FMP.Types.HasDefault FMP.Types.Pen
instance FMP.Types.IsEquation FMP.Types.Numeric
instance FMP.Types.IsEquation FMP.Types.Point
instance FMP.Types.HasCond FMP.Types.Equation
instance FMP.Types.HasCond FMP.Types.Point
instance FMP.Types.HasCond FMP.Types.Numeric
instance FMP.Types.IsBoolean FMP.Types.Numeric
instance FMP.Types.IsBoolean FMP.Types.Point
instance GHC.Num.Num FMP.Types.Boolean
instance GHC.Num.Num FMP.Types.Point
instance FMP.Types.HasWhatever FMP.Types.Point
instance GHC.Num.Num FMP.Types.Numeric
instance GHC.Real.Fractional FMP.Types.Numeric
instance GHC.Float.Floating FMP.Types.Numeric
instance GHC.Enum.Enum FMP.Types.Numeric
instance GHC.Real.Real FMP.Types.Numeric
instance FMP.Types.HasWhatever FMP.Types.Numeric
instance FMP.Types.IsName GHC.Types.Int
instance FMP.Types.IsName GHC.Types.Char
instance FMP.Types.IsName FMP.Types.Dir
instance FMP.Types.IsName a => FMP.Types.IsName [a]
instance FMP.Types.IsName FMP.Types.Name
instance FMP.Types.HasDefault FMP.Types.Pattern
instance GHC.Num.Num FMP.Types.Dir
module FMP.Term
data Term
Const :: Double -> Term
Id :: String -> Term
Add :: Term -> Term -> Term
Sub :: Term -> Term -> Term
Mul :: Term -> Term -> Term
Div :: Term -> Term -> Term
Neg :: Term -> Term
Parens :: Term -> Term
Pythagoras :: Term -> Term -> Term
Power :: Term -> Term -> Term
SinD :: Term -> Term
CosD :: Term -> Term
Sqrt :: Term -> Term
Ln :: Term -> Term
Exp :: Term -> Term
Round :: Term -> Term
Ceil :: Term -> Term
Floor :: Term -> Term
Angle :: Term -> Term
XPart :: Term -> Term
YPart :: Term -> Term
Pair :: Term -> Term -> Term
Max :: [Term] -> Term
Min :: [Term] -> Term
Identity :: Term
CurrentPicture :: Term
Pic :: String -> Term
Infix :: Term -> String -> Term -> Term
LLCorner :: Term -> Term
URCorner :: Term -> Term
Shifted :: Term -> Term -> Term
Transform :: [Int] -> Term -> Term
Transformed :: Term -> Term -> Term
TransformedM :: Term -> Term -> Term -> Term -> Term -> Term -> Term
Mediate :: Term -> Term -> Term -> Term
Pos :: Int -> Int -> Term
TDot :: String -> Dir -> Term
IfElse :: Term -> Term -> Term -> Term
VerbFunction :: String -> Term -> Term
Dirop :: Term -> Term
max' :: [Term] -> Term
pair :: Term -> Term -> Term
add :: Term -> Term -> Term
sub :: Term -> Term -> Term
mul :: Term -> Term -> Term
instance GHC.Read.Read FMP.Term.Term
instance GHC.Show.Show FMP.Term.Term
instance GHC.Classes.Eq FMP.Term.Term
instance GHC.Num.Num FMP.Term.Term
instance GHC.Real.Fractional FMP.Term.Term
module FMP.Picture
(|-|) :: (IsPicture a, IsPicture b) => a -> b -> Picture
infixl 5 |-|
(|||) :: (IsPicture a, IsPicture b) => a -> b -> Picture
infixl 6 |||
(|=|) :: (IsPicture a, IsPicture b) => a -> b -> Picture
infixl 5 |=|
(||||) :: (IsPicture a, IsPicture b) => a -> b -> Picture
infixl 6 ||||
(#) :: a -> (a -> b) -> b
infixl 0 #
(.&.) :: (IsPath a, IsPath b) => a -> b -> Path
infixr 1 .&.
(...) :: (IsPath a, IsPath b) => a -> b -> Path
infixr 1 ...
(.-.) :: (IsPath a, IsPath b) => a -> b -> Path
infixr 1 .-.
(....) :: (IsPath a, IsPath b) => a -> b -> Path
infixr 1 ....
(.--.) :: (IsPath a, IsPath b) => a -> b -> Path
infixr 1 .--.
class (Show a) => IsPicture a
toPicture :: IsPicture a => a -> Picture
toPictureList :: IsPicture a => [a] -> Picture
class IsPath a
toPath :: IsPath a => a -> Path
toPathList :: IsPath a => [a] -> Path
class IsArea a
toArea :: IsArea a => a -> Area
class HasPicture a
fromPicture :: (HasPicture a, (IsPicture b)) => b -> a
class HasName a
setName :: (HasName a, IsName b) => b -> a -> a
getNames :: HasName a => a -> [Name]
class HasDXY a
setDX :: HasDXY a => Numeric -> a -> a
getDX :: HasDXY a => a -> Maybe Numeric
setDY :: HasDXY a => Numeric -> a -> a
getDY :: HasDXY a => a -> Maybe Numeric
class HasExtent a
setWidth :: HasExtent a => Numeric -> a -> a
removeWidth :: HasExtent a => a -> a
getWidth :: HasExtent a => a -> Maybe Numeric
setHeight :: HasExtent a => Numeric -> a -> a
removeHeight :: HasExtent a => a -> a
getHeight :: HasExtent a => a -> Maybe Numeric
class HasLabel a
setLabel :: (HasLabel a, IsPicture b) => Double -> Dir -> b -> a -> a
removeLabel :: HasLabel a => a -> a
class HasPattern a
setPattern :: HasPattern a => Pattern -> a -> a
setDefaultPattern :: HasPattern a => a -> a
getPattern :: HasPattern a => a -> Pattern
class HasPen a
setPen :: HasPen a => Pen -> a -> a
setDefaultPen :: HasPen a => a -> a
getPen :: HasPen a => a -> Pen
class HasArrowHead a
setArrowHead :: HasArrowHead a => ArrowHead -> a -> a
removeArrowHead :: HasArrowHead a => a -> a
getArrowHead :: HasArrowHead a => a -> Maybe ArrowHead
setStartArrowHead :: HasArrowHead a => ArrowHead -> a -> a
removeStartArrowHead :: HasArrowHead a => a -> a
getStartArrowHead :: HasArrowHead a => a -> Maybe ArrowHead
class HasStartEndCut a
setStartCut :: (HasStartEndCut a, IsName b) => b -> a -> a
removeStartCut :: HasStartEndCut a => a -> a
setEndCut :: (HasStartEndCut a, IsName b) => b -> a -> a
removeEndCut :: HasStartEndCut a => a -> a
class HasStartEndDir a
setStartAngle :: HasStartEndDir a => Numeric -> a -> a
setEndAngle :: HasStartEndDir a => Numeric -> a -> a
setStartCurl :: HasStartEndDir a => Numeric -> a -> a
setEndCurl :: HasStartEndDir a => Numeric -> a -> a
setStartVector :: HasStartEndDir a => Point -> a -> a
setEndVector :: HasStartEndDir a => Point -> a -> a
removeStartDir :: HasStartEndDir a => a -> a
removeEndDir :: HasStartEndDir a => a -> a
class HasJoin a
setJoin :: HasJoin a => BasicJoin -> a -> a
getJoin :: HasJoin a => a -> BasicJoin
class HasShadow a
setShadow :: HasShadow a => (Numeric, Numeric) -> a -> a
clearShadow :: HasShadow a => a -> a
getShadow :: HasShadow a => a -> Maybe (Numeric, Numeric)
class HasLayer a
setBack :: HasLayer a => a -> a
setFront :: HasLayer a => a -> a
getLayer :: HasLayer a => a -> Layer
class HasConcat a
(&) :: HasConcat a => a -> a -> a
class IsHideable a
hide :: IsHideable a => a -> a
joinCat :: BasicJoin
joinFree :: BasicJoin
joinBounded :: BasicJoin
joinStraight :: BasicJoin
joinTense :: BasicJoin
joinTension :: Tension -> BasicJoin
joinTensions :: Tension -> Tension -> BasicJoin
joinControl :: Point -> BasicJoin
joinControls :: Point -> Point -> BasicJoin
tension :: Numeric -> Tension
tensionAtLeast :: Numeric -> Tension
buildCycle :: Path -> Path -> Path
transformPath :: Transformation -> Path -> Path
mm :: Numeric
pt :: Numeric
dd :: Numeric
bp :: Numeric
cm :: Numeric
pc :: Numeric
cc :: Numeric
inch :: Numeric
up :: Point
down :: Point
left :: Point
right :: Point
fullcircle :: Path
halfcircle :: Path
quartercircle :: Path
unitsquare :: Path
enumPics :: (HasName a) => [a] -> [a]
image :: BitDepth -> [String] -> Picture
data Picture
Attributes :: Attrib -> Picture -> Picture
Overlay :: [Equation] -> (Maybe Int) -> [Picture] -> Picture
Define :: [Equation] -> Picture -> Picture
Frame :: FrameAttrib -> [Equation] -> Path -> Picture -> Picture
Draw :: [Path] -> Picture -> Picture
Fill :: [Area] -> Picture -> Picture
Clip :: Path -> Picture -> Picture
Empty :: Numeric -> Numeric -> Picture
Tex :: String -> Picture
Text :: String -> Picture
BitLine :: Point -> BitDepth -> String -> Picture
PTransform :: Transformation -> Picture -> Picture
TrueBox :: Picture -> Picture
data Layer
Front :: Layer
Back :: Layer
data Transformation
Transformation :: Numeric -> Numeric -> Numeric -> Numeric -> Numeric -> Numeric -> Transformation
data BitDepth
Depth1 :: BitDepth
Depth8 :: BitDepth
Depth24 :: BitDepth
row :: IsPicture a => [a] -> Picture
column :: IsPicture a => [a] -> Picture
rowSepBy :: IsPicture a => Numeric -> [a] -> Picture
columnSepBy :: IsPicture a => Numeric -> [a] -> Picture
vspace :: Numeric -> Picture
hspace :: Numeric -> Picture
space :: Numeric -> Numeric -> Picture
fill :: (IsPicture a, IsArea b) => [b] -> a -> Picture
clip :: IsPicture a => Path -> a -> Picture
draw :: IsPicture a => [Path] -> a -> Picture
at :: (IsPicture a, IsPicture b) => Dir -> a -> b -> Picture
label :: (IsPicture a, IsPicture b) => Dir -> a -> b -> Picture
overlay :: IsPicture a => [Equation] -> [a] -> Picture
overlay' :: IsPicture a => [Equation] -> Maybe Int -> [a] -> Picture
ooalign :: IsPicture a => [a] -> Picture
class HasDefine a
define :: HasDefine a => [Equation] -> a -> a
text :: String -> Picture
tex :: String -> Picture
math :: String -> Picture
empty :: Picture
setTrueBoundingBox :: IsPicture a => a -> Picture
scale :: IsPicture a => Numeric -> a -> Picture
rotate :: IsPicture a => Numeric -> a -> Picture
transform :: IsPicture a => Transformation -> a -> Picture
affine :: (Numeric, Numeric, Numeric, Numeric, Numeric, Numeric) -> Transformation
shifted :: (Numeric, Numeric) -> Transformation
rotated :: Numeric -> Transformation
reflectedX :: Transformation
reflectedY :: Transformation
reflectX :: IsPicture a => a -> Picture
reflectY :: IsPicture a => a -> Picture
scaledX :: Numeric -> Transformation
scaledY :: Numeric -> Transformation
scaled :: Numeric -> Transformation
skewedX :: Numeric -> Transformation
skewX :: IsPicture a => Numeric -> a -> Picture
skewedY :: Numeric -> Transformation
skewY :: IsPicture a => Numeric -> a -> Picture
line :: (IsPath a, IsPath b) => a -> b -> Path
curve :: (IsPath a, IsPath b) => a -> b -> Path
arrow :: (IsPath b, IsPath a) => a -> b -> Path
cycle' :: Path
lastNameIsDir :: Name -> Bool
defaultArrowHead :: ArrowHead
arrowHeadBig :: ArrowHead
arrowHeadSize :: Double -> Double -> ArrowHead
setArrowHeadStyle :: ArrowHeadStyle -> ArrowHead -> ArrowHead
getArrowHeadStyle :: ArrowHead -> ArrowHeadStyle
ahFilled :: ArrowHeadStyle
ahLine :: ArrowHeadStyle
data Attrib
Attrib :: [Name] -> Color -> Color -> Attrib
[aNames] :: Attrib -> [Name]
[aColor] :: Attrib -> Color
[aBGColor] :: Attrib -> Color
stdAttrib :: Attrib
data FrameAttrib
FrameAttrib :: [Name] -> Color -> Pen -> Pattern -> Maybe (Numeric, Numeric) -> Bool -> FrameAttrib
[faNames] :: FrameAttrib -> [Name]
[faColor, faBGColor] :: FrameAttrib -> Color
[faPen] :: FrameAttrib -> Pen
[faPattern] :: FrameAttrib -> Pattern
[faShadow] :: FrameAttrib -> Maybe (Numeric, Numeric)
[faVisible] :: FrameAttrib -> Bool
stdFrameAttrib :: FrameAttrib
data PathElemDescr
PathElemDescr :: Color -> Pen -> Maybe ArrowHead -> Maybe ArrowHead -> Pattern -> Bool -> Maybe CutPic -> Dir' -> BasicJoin -> [PathLabel] -> PathElemDescr
[peColor] :: PathElemDescr -> Color
[pePen] :: PathElemDescr -> Pen
[peArrowHead] :: PathElemDescr -> Maybe ArrowHead
[peSArrowHead] :: PathElemDescr -> Maybe ArrowHead
[pePattern] :: PathElemDescr -> Pattern
[peVisible] :: PathElemDescr -> Bool
[peStartCut, peEndCut] :: PathElemDescr -> Maybe CutPic
[peStartDir, peEndDir] :: PathElemDescr -> Dir'
[peJoin] :: PathElemDescr -> BasicJoin
[peLabels] :: PathElemDescr -> [PathLabel]
stdPathElemDescr :: PathElemDescr
data Path
PathBuildCycle :: Path -> Path -> Path
PathTransform :: Transformation -> Path -> Path
PathPoint :: Point -> Path
PathCycle :: Path
PathJoin :: Path -> PathElemDescr -> Path -> Path
PathEndDir :: Point -> Dir' -> Path
PathDefine :: [Equation] -> Path -> Path
data PathLabel
PathLabel :: Picture -> Double -> Dir -> PathLabel
data ArrowHead
DefaultArrowHead :: ArrowHead
ArrowHead :: (Maybe Double) -> (Maybe Double) -> ArrowHeadStyle -> ArrowHead
data ArrowHeadStyle
AHFilled :: ArrowHeadStyle
AHLine :: ArrowHeadStyle
data CutPic
CutPicTrans :: CutPic -> [Int] -> CutPic
CutPic :: Name -> CutPic
CutPic' :: String -> CutPic
pathLength :: Num a => Path -> a
forEachPath :: (PathElemDescr -> PathElemDescr) -> Path -> Path
data Dir'
DirEmpty :: Dir'
DirCurl :: Numeric -> Dir'
DirDir :: Numeric -> Dir'
DirVector :: Point -> Dir'
data BasicJoin
BJCat :: BasicJoin
BJFree :: BasicJoin
BJBounded :: BasicJoin
BJStraight :: BasicJoin
BJTense :: BasicJoin
BJTension :: Tension -> BasicJoin
BJTension2 :: Tension -> Tension -> BasicJoin
BJControls :: Point -> BasicJoin
BJControls2 :: Point -> Point -> BasicJoin
data Tension
Tension :: Numeric -> Tension
TensionAtLeast :: Numeric -> Tension
data Area
Area :: AreaDescr -> Path -> Area
data AreaDescr
AreaDescr :: Color -> Layer -> Pen -> AreaDescr
[arColor] :: AreaDescr -> Color
[arLayer] :: AreaDescr -> Layer
[arPen] :: AreaDescr -> Pen
stdAreaDescr :: AreaDescr
getDefault :: Maybe a -> a -> a
data Frame
Frame' :: FrameAttrib -> ExtentAttrib -> Path -> Picture -> Frame
data AbsOrRel
AORAbs :: Numeric -> AbsOrRel
AORRel :: Numeric -> AbsOrRel
AORDefault :: AbsOrRel
data ExtentAttrib
ExtentAttrib :: AbsOrRel -> [Equation] -> [Equation] -> [Equation] -> [Equation] -> [Equation] -> ExtentAttrib
[eaX, eaY] :: ExtentAttrib -> AbsOrRel
[eaEqsDX] :: ExtentAttrib -> [Equation]
[eaEqsDY] :: ExtentAttrib -> [Equation]
[eaEqsWidth] :: ExtentAttrib -> [Equation]
[eaEqsHeight] :: ExtentAttrib -> [Equation]
[eaEqs] :: ExtentAttrib -> [Equation]
stdExtentAttrib :: ExtentAttrib
dot :: Frame
bullet :: Frame
box :: IsPicture a => a -> Frame
triangle :: IsPicture a => a -> Frame
triAngle :: IsPicture a => Numeric -> a -> Frame
rbox :: IsPicture a => Numeric -> a -> Frame
oval :: IsPicture a => a -> Frame
circle :: IsPicture a => a -> Frame
instance GHC.Show.Show FMP.Picture.Frame
instance GHC.Show.Show FMP.Picture.ExtentAttrib
instance GHC.Show.Show FMP.Picture.AbsOrRel
instance GHC.Read.Read FMP.Picture.Picture
instance GHC.Show.Show FMP.Picture.Picture
instance GHC.Classes.Eq FMP.Picture.Picture
instance GHC.Read.Read FMP.Picture.PathLabel
instance GHC.Show.Show FMP.Picture.PathLabel
instance GHC.Classes.Eq FMP.Picture.PathLabel
instance GHC.Read.Read FMP.Picture.PathElemDescr
instance GHC.Classes.Eq FMP.Picture.PathElemDescr
instance GHC.Read.Read FMP.Picture.Path
instance GHC.Show.Show FMP.Picture.Path
instance GHC.Classes.Eq FMP.Picture.Path
instance GHC.Read.Read FMP.Picture.Area
instance GHC.Show.Show FMP.Picture.Area
instance GHC.Classes.Eq FMP.Picture.Area
instance GHC.Read.Read FMP.Picture.AreaDescr
instance GHC.Classes.Eq FMP.Picture.AreaDescr
instance GHC.Read.Read FMP.Picture.BasicJoin
instance GHC.Show.Show FMP.Picture.BasicJoin
instance GHC.Classes.Eq FMP.Picture.BasicJoin
instance GHC.Read.Read FMP.Picture.Tension
instance GHC.Show.Show FMP.Picture.Tension
instance GHC.Classes.Eq FMP.Picture.Tension
instance GHC.Read.Read FMP.Picture.Dir'
instance GHC.Show.Show FMP.Picture.Dir'
instance GHC.Classes.Eq FMP.Picture.Dir'
instance GHC.Read.Read FMP.Picture.ArrowHead
instance GHC.Show.Show FMP.Picture.ArrowHead
instance GHC.Classes.Eq FMP.Picture.ArrowHead
instance GHC.Read.Read FMP.Picture.ArrowHeadStyle
instance GHC.Show.Show FMP.Picture.ArrowHeadStyle
instance GHC.Classes.Eq FMP.Picture.ArrowHeadStyle
instance GHC.Read.Read FMP.Picture.CutPic
instance GHC.Show.Show FMP.Picture.CutPic
instance GHC.Classes.Eq FMP.Picture.CutPic
instance GHC.Read.Read FMP.Picture.FrameAttrib
instance GHC.Classes.Eq FMP.Picture.FrameAttrib
instance GHC.Read.Read FMP.Picture.Attrib
instance GHC.Classes.Eq FMP.Picture.Attrib
instance GHC.Read.Read FMP.Picture.BitDepth
instance GHC.Show.Show FMP.Picture.BitDepth
instance GHC.Classes.Eq FMP.Picture.BitDepth
instance GHC.Read.Read FMP.Picture.Transformation
instance GHC.Show.Show FMP.Picture.Transformation
instance GHC.Classes.Eq FMP.Picture.Transformation
instance GHC.Read.Read FMP.Picture.Layer
instance GHC.Show.Show FMP.Picture.Layer
instance GHC.Classes.Eq FMP.Picture.Layer
instance FMP.Types.HasRelax FMP.Picture.Frame
instance FMP.Color.HasColor FMP.Picture.Frame
instance FMP.Color.HasBGColor FMP.Picture.Frame
instance FMP.Picture.HasPen FMP.Picture.Frame
instance FMP.Picture.HasShadow FMP.Picture.Frame
instance FMP.Picture.HasPattern FMP.Picture.Frame
instance FMP.Picture.HasName FMP.Picture.Frame
instance FMP.Picture.HasDXY FMP.Picture.Frame
instance FMP.Picture.HasExtent FMP.Picture.Frame
instance FMP.Picture.IsHideable FMP.Picture.Frame
instance FMP.Picture.IsPicture FMP.Picture.Frame
instance FMP.Picture.IsArea FMP.Picture.Area
instance FMP.Picture.IsArea FMP.Picture.Path
instance FMP.Picture.IsPath a => FMP.Picture.IsArea [a]
instance FMP.Picture.HasLabel FMP.Picture.PathElemDescr
instance FMP.Picture.HasLabel FMP.Picture.Path
instance FMP.Picture.IsPicture FMP.Picture.Picture
instance FMP.Picture.IsPicture GHC.Types.Char
instance FMP.Picture.IsPicture GHC.Types.Int
instance FMP.Picture.IsPicture GHC.Integer.Type.Integer
instance FMP.Picture.IsPicture FMP.Types.Numeric
instance FMP.Picture.IsPicture a => FMP.Picture.IsPicture [a]
instance FMP.Picture.IsPicture ()
instance (FMP.Picture.IsPicture a, FMP.Picture.IsPicture b) => FMP.Picture.IsPicture (a, b)
instance (FMP.Picture.IsPicture a, FMP.Picture.IsPicture b, FMP.Picture.IsPicture c) => FMP.Picture.IsPicture (a, b, c)
instance FMP.Picture.IsPicture FMP.Picture.Path
instance FMP.Picture.IsPicture FMP.Picture.Area
instance FMP.Picture.HasDefine FMP.Picture.Picture
instance FMP.Picture.IsPath FMP.Picture.Path
instance FMP.Picture.IsPath FMP.Types.Point
instance FMP.Picture.IsPath FMP.Types.Name
instance FMP.Picture.IsPath a => FMP.Picture.IsPath [a]
instance FMP.Picture.IsPath GHC.Types.Char
instance (GHC.Real.Real a, GHC.Real.Real b) => FMP.Picture.IsPath (a, b)
instance FMP.Types.HasRelax FMP.Picture.Picture
instance FMP.Color.HasColor FMP.Picture.Picture
instance FMP.Color.HasBGColor FMP.Picture.Picture
instance FMP.Picture.HasName FMP.Picture.Picture
instance GHC.Show.Show FMP.Picture.PathElemDescr
instance FMP.Color.HasColor FMP.Picture.PathElemDescr
instance FMP.Picture.HasPattern FMP.Picture.PathElemDescr
instance FMP.Picture.HasPen FMP.Picture.PathElemDescr
instance FMP.Picture.IsHideable FMP.Picture.PathElemDescr
instance FMP.Picture.HasArrowHead FMP.Picture.PathElemDescr
instance FMP.Picture.HasStartEndCut FMP.Picture.PathElemDescr
instance FMP.Picture.HasJoin FMP.Picture.PathElemDescr
instance FMP.Picture.HasStartEndDir FMP.Picture.PathElemDescr
instance FMP.Color.HasColor FMP.Picture.Path
instance FMP.Picture.HasPattern FMP.Picture.Path
instance FMP.Picture.HasPen FMP.Picture.Path
instance FMP.Picture.IsHideable FMP.Picture.Path
instance FMP.Picture.HasArrowHead FMP.Picture.Path
instance FMP.Picture.HasStartEndDir FMP.Picture.Path
instance FMP.Picture.HasJoin FMP.Picture.Path
instance FMP.Picture.HasStartEndCut FMP.Picture.Path
instance FMP.Picture.HasDefine FMP.Picture.Path
instance FMP.Picture.HasConcat FMP.Picture.Path
instance FMP.Picture.HasDefine FMP.Picture.Area
instance FMP.Color.HasColor FMP.Picture.Area
instance FMP.Picture.HasPen FMP.Picture.Area
instance FMP.Picture.HasLayer FMP.Picture.Area
instance GHC.Show.Show FMP.Picture.AreaDescr
instance FMP.Types.HasDefault FMP.Picture.ArrowHead
instance GHC.Show.Show FMP.Picture.FrameAttrib
instance FMP.Picture.HasPen FMP.Picture.FrameAttrib
instance FMP.Picture.HasPattern FMP.Picture.FrameAttrib
instance FMP.Picture.HasShadow FMP.Picture.FrameAttrib
instance FMP.Color.HasColor FMP.Picture.FrameAttrib
instance FMP.Color.HasBGColor FMP.Picture.FrameAttrib
instance FMP.Picture.HasName FMP.Picture.FrameAttrib
instance FMP.Picture.IsHideable FMP.Picture.FrameAttrib
instance GHC.Show.Show FMP.Picture.Attrib
instance FMP.Picture.HasConcat FMP.Picture.Transformation
instance FMP.Picture.FromList FMP.Types.Equation
instance FMP.Picture.FromList a => FMP.Picture.HasConcat [a]
instance FMP.Types.HasDefault FMP.Color.Color
module FMP.Tree
number :: Tree -> (Tree' (Int, Int, Int))
data Tree' a
Node' :: a -> NodeDescr -> [Tree' a] -> Tree' a
data Tree
Node :: Picture -> NodeDescr -> [Edge] -> Tree
data Edge
Edge :: Path -> Tree -> Edge
Cross :: Path -> Edge
data AlignSons
DefaultAlign :: AlignSons
AlignLeft :: AlignSons
AlignRight :: AlignSons
AlignLeftSon :: AlignSons
AlignRightSon :: AlignSons
AlignOverN :: Int -> AlignSons
AlignAngles :: [Numeric] -> AlignSons
AlignConst :: Numeric -> AlignSons
AlignFunction :: (NodeDescr -> [Extent] -> Int -> [Numeric]) -> AlignSons
data Distance
DistCenter :: Numeric -> Distance
DistBorder :: Numeric -> Distance
edge :: Tree -> Edge
edge' :: Path -> Tree -> Edge
cross :: Point -> Edge
cross' :: Path -> Edge
enode :: IsPicture a => a -> [Edge] -> Edge
node :: IsPicture a => a -> [Edge] -> Tree
stair :: Point -> Point -> Path
forEachNode :: (Tree -> Tree) -> Tree -> Tree
forEachLevelNode :: Int -> (Tree -> Tree) -> Tree -> Tree
forEachPic :: (Picture -> Picture) -> Tree -> Tree
forEachEdge :: (Path -> Path) -> Tree -> Tree
defaultAlign :: AlignSons
alignLeft :: AlignSons
alignRight :: AlignSons
alignLeftSon :: AlignSons
alignRightSon :: AlignSons
alignOverN :: Int -> AlignSons
alignAngles :: [Numeric] -> AlignSons
alignConst :: Numeric -> AlignSons
alignFunction :: (NodeDescr -> [Extent] -> Int -> [Numeric]) -> AlignSons
setAlign :: AlignSons -> Tree -> Tree
getAlign :: Tree -> AlignSons
setDistH :: Distance -> Tree -> Tree
getDistH :: Tree -> Distance
setDistV :: Distance -> Tree -> Tree
getDistV :: Tree -> Distance
fit :: Numeric -> Extent -> Extent -> Position
fitLeft :: Numeric -> [Extent] -> [Position]
fitRight :: Numeric -> [Extent] -> [Position]
distCenter :: Numeric -> Distance
distBorder :: Numeric -> Distance
data NodeName
Parent :: NodeName
This :: NodeName
Root :: NodeName
Up :: Int -> NodeName
Son :: Int -> NodeName
instance GHC.Show.Show FMP.Tree.Edge
instance GHC.Show.Show FMP.Tree.Tree
instance GHC.Show.Show FMP.Tree.NodeDescr
instance GHC.Show.Show FMP.Tree.AlignSons
instance GHC.Show.Show FMP.Tree.NodeName
instance GHC.Show.Show FMP.Tree.Distance
instance GHC.Classes.Eq FMP.Tree.Distance
instance FMP.Color.HasColor FMP.Tree.Edge
instance FMP.Picture.HasLabel FMP.Tree.Edge
instance FMP.Picture.HasPattern FMP.Tree.Edge
instance FMP.Picture.HasArrowHead FMP.Tree.Edge
instance FMP.Picture.HasPen FMP.Tree.Edge
instance FMP.Picture.HasStartEndDir FMP.Tree.Edge
instance FMP.Picture.IsHideable FMP.Tree.Edge
instance FMP.Picture.HasName FMP.Tree.Tree
instance FMP.Color.HasColor FMP.Tree.Tree
instance FMP.Picture.IsPicture FMP.Tree.Tree
instance FMP.Types.IsName FMP.Tree.NodeName
instance GHC.Num.Num FMP.Tree.Distance
instance GHC.Real.Fractional FMP.Tree.Distance
instance (GHC.Read.Read a, GHC.Read.Read b) => GHC.Read.Read (a -> b)
instance (GHC.Classes.Eq a, GHC.Classes.Eq b) => GHC.Classes.Eq (a -> b)
instance (GHC.Num.Num a, GHC.Num.Num b) => GHC.Num.Num (a, b)
instance GHC.Show.Show (a -> b)
module FMP.Syntax
class HasEmit a
emit :: HasEmit a => a -> Doc
data MetaPost
MPAssign :: Term -> Term -> MetaPost
MPAssignPath :: String -> MPPath -> MetaPost
MPBoxit :: String -> MetaPost -> MetaPost
MPBitLine :: (Term, Term) -> Term -> String -> MetaPost
MPCloneit :: String -> String -> MetaPost
MPClearIt :: MetaPost
MPClip :: MPPath -> MetaPost
MPComment :: String -> MetaPost
MPConc :: MetaPost -> MetaPost -> MetaPost
MPDef :: String -> Term -> MetaPost
MPDefineTrans :: String -> MPTransform -> MetaPost
MPDraw :: MPArrow -> MPPath -> MPPattern -> MPColor -> MPPen -> MetaPost
MPDrawAHead :: MPArrow -> MPPath -> MPColor -> MPPen -> MetaPost
MPDrawPic :: MPColor -> Term -> MetaPost
MPDrawUnBoxed :: [String] -> MetaPost
MPEquals :: [Term] -> MetaPost
MPFigure :: Int -> MetaPost -> MetaPost
MPFill :: MPPath -> MPColor -> MPPen -> MetaPost
MPFixPos :: [String] -> MetaPost
MPFixSize :: [String] -> MetaPost
MPGraduate :: MPColor -> MPColor -> MPPath -> Int -> Double -> MetaPost
MPGraduatePic :: MPColor -> MPColor -> Term -> Int -> Double -> MetaPost
MPGraduatePath :: MPArrow -> MPColor -> MPColor -> MPPath -> MPPattern -> MPPen -> Int -> Double -> MetaPost
MPGroup :: MetaPost -> MetaPost
MPIfElse :: Term -> MetaPost -> MetaPost -> MetaPost
MPImage :: String -> MetaPost -> MetaPost
MPRelax :: MetaPost
MPShapeit :: String -> MetaPost
MPSubBox :: Int -> MetaPost -> MetaPost
MPTex :: String -> MetaPost
MPText :: String -> MetaPost
MPVerbatim :: String -> MetaPost
mpConcs :: [MetaPost] -> MetaPost
data MPArrow
MPNormal :: MPArrow
MPArrow :: (Maybe Double) -> (Maybe Double) -> MPArrowStyle -> MPArrow
MPReverse :: (Maybe Double) -> (Maybe Double) -> MPArrowStyle -> MPArrow
data MPArrowStyle
MPArrowStyleFilled :: MPArrowStyle
MPArrowStyleLine :: MPArrowStyle
mpArrowStyle :: ArrowHeadStyle -> MPArrowStyle
mpPathArrow :: ArrowHead -> MPArrow
mpPathRArrow :: ArrowHead -> MPArrow
data MPTransform
MPTransform :: Term -> Term -> Term -> Term -> Term -> Term -> MPTransform
data MPPath
MPPathNorm :: MPPathSub -> MPPath
MPCutbefore :: MPPath -> MPPath -> MPPath
MPCutafter :: MPPath -> MPPath -> MPPath
MPBPath :: Term -> MPPath
MPTransformP :: [Int] -> MPPath -> MPPath
MPShiftedP :: Term -> MPPath -> MPPath
MPSubPath :: Term -> Term -> MPPath -> MPPath
MPPathTerm :: Term -> MPPath
data MPPathSub
MPPathSub :: Term -> MPPathJoin -> MPPathSub -> MPPathSub
MPPathEndDir :: Term -> MPPathDir -> MPPathSub
MPPathEnd :: Term -> MPPathSub
MPCycle :: MPPathSub
MPPathBuildCycle :: [MPPath] -> MPPathSub
MPPathTransform :: MPTransform -> MPPathSub -> MPPathSub
data MPPathJoin
MPPathJoin :: MPPathDir -> MPPathBasicJoin -> MPPathDir -> MPPathJoin
data MPPathBasicJoin
MPPathBasicJoinCat :: MPPathBasicJoin
MPPathBasicJoin2 :: MPPathBasicJoin
MPPathBasicJoin3 :: MPPathBasicJoin
MPPathBasicJoinTense :: MPPathBasicJoin
MPPathBasicJoinStraight :: MPPathBasicJoin
MPPathBasicJoinTension1 :: MPPathBasicJoinTension -> MPPathBasicJoin
MPPathBasicJoinTension2 :: MPPathBasicJoinTension -> MPPathBasicJoinTension -> MPPathBasicJoin
MPPathBasicJoinControls1 :: Term -> MPPathBasicJoin
MPPathBasicJoinControls2 :: Term -> Term -> MPPathBasicJoin
data MPPathDir
MPDefaultPathDir :: MPPathDir
MPPathDirCurl :: Term -> MPPathDir
MPPathDirPair :: Term -> Term -> MPPathDir
MPPathDir :: Term -> MPPathDir
data MPPathBasicJoinTension
MPPathBasicJoinTension :: Term -> MPPathBasicJoinTension
MPPathBasicJoinAtLeast :: Term -> MPPathBasicJoinTension
data MPColor
MPDefaultColor :: MPColor
MPColor :: Double -> Double -> Double -> MPColor
mpColor :: Color -> MPColor
data MPPen
MPDefaultPen :: MPPen
MPPenCircle :: (Term, Term) -> Term -> MPPen
MPPenSquare :: (Term, Term) -> Term -> MPPen
mpPen :: Pen -> MPPen
data MPPattern
MPDefaultPattern :: MPPattern
MPDashPattern :: [Double] -> MPPattern
mpPattern :: Pattern -> MPPattern
mpEquations :: [Equation] -> MetaPost
mpPEquations :: [Point] -> [Term]
mpNEquations :: [Numeric] -> [Term]
mpBoolean :: Boolean -> Term
mpBoolRelat :: BoolRelat -> String
mpPoint :: Point -> Term
mpCutPic :: CutPic -> Term
mpNumeric :: Numeric -> Term
emitL :: [String] -> Doc
showFF :: Double -> ShowS
emitPattern' :: MPPattern -> Doc
emitDefTrans :: String -> MPTransform -> Doc
emitColor' :: MPColor -> Doc
emitPen2 :: (Eq b, Num b, HasEmit b, Eq a, HasEmit a) => (a, a) -> b -> Doc
emitPen' :: MPPen -> Doc
emitDir :: Dir -> String
tdot :: String -> Dir -> Term
tr :: Int -> String
pos :: Int -> Int -> String
savestring :: String -> String
defDX :: Term
defDY :: Term
txtDX :: Term
txtDY :: Term
shiftRefPoint :: Int -> Term
suff :: Int -> String
instance GHC.Classes.Eq FMP.Syntax.MetaPost
instance GHC.Classes.Eq FMP.Syntax.MPPattern
instance GHC.Classes.Eq FMP.Syntax.MPPen
instance GHC.Classes.Eq FMP.Syntax.MPColor
instance GHC.Classes.Eq FMP.Syntax.MPPath
instance GHC.Classes.Eq FMP.Syntax.MPPathSub
instance GHC.Classes.Eq FMP.Syntax.MPPathJoin
instance GHC.Classes.Eq FMP.Syntax.MPPathBasicJoin
instance GHC.Classes.Eq FMP.Syntax.MPPathBasicJoinTension
instance GHC.Classes.Eq FMP.Syntax.MPPathDir
instance GHC.Classes.Eq FMP.Syntax.MPTransform
instance GHC.Classes.Eq FMP.Syntax.MPArrow
instance GHC.Classes.Eq FMP.Syntax.MPArrowStyle
instance FMP.Picture.HasConcat FMP.Syntax.MetaPost
instance FMP.Types.HasRelax FMP.Syntax.MetaPost
instance FMP.Syntax.HasEmit FMP.Syntax.MetaPost
instance FMP.Syntax.HasEmit FMP.Syntax.MPPattern
instance FMP.Syntax.HasEmit FMP.Syntax.MPPen
instance FMP.Syntax.HasEmit FMP.Syntax.MPColor
instance FMP.Syntax.HasEmit FMP.Syntax.MPPath
instance FMP.Syntax.HasEmit FMP.Syntax.MPPathSub
instance FMP.Syntax.HasEmit FMP.Syntax.MPPathJoin
instance FMP.Syntax.HasEmit FMP.Syntax.MPPathBasicJoin
instance FMP.Syntax.HasEmit FMP.Syntax.MPPathBasicJoinTension
instance FMP.Syntax.HasEmit FMP.Syntax.MPPathDir
instance FMP.Syntax.HasEmit FMP.Syntax.MPArrow
instance FMP.Syntax.HasEmit FMP.Term.Term
module FMP.Symbols
data Symbols
Symbols :: SymPoint -> SymNum -> Symbols
[symPnts] :: Symbols -> SymPoint
[symNums] :: Symbols -> SymNum
data SymPoint
SymPName :: Name -> Int -> Int -> SymPoint
SymPHier :: Name -> Int -> SymPoint -> SymPoint
SymPUnion :: SymPoint -> SymPoint -> SymPoint
SymPUnion3 :: SymPoint -> SymPoint -> SymPoint -> SymPoint
SymPTrans :: SymPoint -> Int -> SymPoint
SymPRelax :: SymPoint
data SymNum
SymNName :: Name -> Int -> Int -> SymNum
SymNHier :: Name -> Int -> SymNum -> SymNum
SymNUnion :: SymNum -> SymNum -> SymNum
SymNUnion3 :: SymNum -> SymNum -> SymNum -> SymNum
SymNRelax :: SymNum
symUnion3 :: Symbols -> Symbols -> Symbols -> Symbols
symUnions :: [Symbols] -> Symbols
symName :: IsName a => a -> Int -> Symbols -> Symbols
symNames :: IsName a => [a] -> Int -> Symbols -> Symbols
symHier :: IsName a => a -> Int -> Symbols -> Symbols
symTrans :: Symbols -> Int -> Symbols
addPDef :: SymPoint -> Symbols -> Symbols
addNDef :: SymNum -> Symbols -> Symbols
symPUnions :: [SymPoint] -> SymPoint
symPName :: Name -> Int -> SymPoint -> SymPoint
symPNames :: [Name] -> Int -> SymPoint -> SymPoint
symPHier :: Name -> Int -> SymPoint -> SymPoint
symPTrans :: SymPoint -> Int -> SymPoint
symNUnions :: [SymNum] -> SymNum
symNName :: Name -> Int -> SymNum -> SymNum
symNNames :: [Name] -> Int -> SymNum -> SymNum
symNHier :: Name -> Int -> SymNum -> SymNum
symNHiers :: [Name] -> Int -> SymNum -> SymNum
instance GHC.Show.Show FMP.Symbols.Symbols
instance GHC.Classes.Eq FMP.Symbols.Symbols
instance GHC.Show.Show FMP.Symbols.SymNum
instance GHC.Classes.Eq FMP.Symbols.SymNum
instance GHC.Show.Show FMP.Symbols.SymPoint
instance GHC.Classes.Eq FMP.Symbols.SymPoint
instance FMP.Picture.HasConcat FMP.Symbols.Symbols
instance FMP.Types.HasRelax FMP.Symbols.Symbols
instance FMP.Picture.HasConcat FMP.Symbols.SymNum
instance FMP.Picture.HasConcat FMP.Symbols.SymPoint
module FMP.Resolve
resolvePoint :: (Int, Symbols) -> Point -> Maybe Point
resolvePath :: (Int, Int, Symbols) -> Path -> Maybe (Int, Path)
resolveNumeric :: (Int, Symbols) -> Numeric -> Maybe Numeric
resolveEquation :: (Int, Symbols) -> Equation -> Maybe Equation
maybes2List :: [Maybe a] -> [a]
symEquations :: (Int, Int, Symbols) -> [Equation] -> (Int, Symbols)
insertNumeric :: (Int, Int, Symbols) -> Name -> (Int, Symbols)
module FMP.RedBlack
data Two34 a
Nil :: Two34 a
Two :: (Two34 a) -> a -> (Two34 a) -> Two34 a
Three :: (Two34 a) -> a -> (Two34 a) -> a -> (Two34 a) -> Two34 a
Four :: (Two34 a) -> a -> (Two34 a) -> a -> (Two34 a) -> a -> (Two34 a) -> Two34 a
edgeN :: Show a => a -> Tree -> Edge
edgeNRed :: Show a => a -> Tree -> Edge
tiny :: String -> Picture
tbox :: String -> Frame
tbox2 :: String -> String -> Frame
tbox3 :: String -> String -> String -> Frame
convert234 :: Two34 String -> Tree
convertRS :: Two34 String -> Tree
instance GHC.Show.Show a => GHC.Show.Show (FMP.RedBlack.Two34 a)
module FMP.Matrix
matrix :: IsPicture a => [[a]] -> Picture
matrixAlign :: [[Cell]] -> Picture
matrixSepBy :: IsPicture a => Numeric -> Numeric -> [[a]] -> Picture
matrixAlignSepBy :: Numeric -> Numeric -> [[Cell]] -> Picture
rowAlign :: [Cell] -> Picture
columnAlign :: [Cell] -> Picture
rowAlignSepBy :: Numeric -> [Cell] -> Picture
columnAlignSepBy :: Numeric -> [Cell] -> Picture
cell :: IsPicture a => a -> Cell
cell' :: IsPicture a => Dir -> a -> Cell
instance GHC.Show.Show FMP.Matrix.Cell
module FMP.Frames
drum :: IsPicture a => a -> Frame
diamond :: Picture -> Picture
fuzzy :: Int -> Int -> Picture -> Picture
cloud :: Int -> Int -> Picture -> Picture
module FMP.Core
-- | generate| we get |(1,relax)::MPArg|, the first two members of the
-- result are ignored, and the last two make up the MetaPost code.
--
-- wferi )
mp :: Picture -> MPArg -> MPResult
module FMP.Canvas
data Canvas
CDraw :: [Path] -> Canvas
CClip :: Path -> Canvas
CFill :: [Area] -> Canvas
CDrop :: (Numeric, Numeric) -> Picture -> Canvas
CConcat :: Canvas -> Canvas -> Canvas
CRelax :: Canvas
cdrop :: IsPicture a => (Numeric, Numeric) -> a -> Canvas
cdraw :: IsPath a => a -> Canvas
cdraws :: IsPath a => [a] -> Canvas
cfill :: IsArea a => a -> Canvas
cfills :: IsArea a => [a] -> Canvas
cclip :: IsPath a => a -> Canvas
instance GHC.Show.Show FMP.Canvas.Canvas
instance FMP.Picture.HasConcat FMP.Canvas.Canvas
instance FMP.Types.HasRelax FMP.Canvas.Canvas
instance FMP.Picture.IsPicture FMP.Canvas.Canvas
module FMP.Turtle
data Turtle
TConc :: Turtle -> Turtle -> Turtle
TDropPic :: Picture -> Turtle
TColor :: Color -> Turtle -> Turtle
TPen :: Pen -> Turtle -> Turtle
THide :: Turtle -> Turtle
TForward :: Numeric -> Turtle
TTurn :: Numeric -> Turtle
TPenUp :: Turtle
TPenDown :: Turtle
THome :: Turtle
TFork :: Turtle -> Turtle -> Turtle
data TurtleAttrib
TAttrib :: PathElemDescr -> Turtle -> TurtleAttrib
TAttribFork :: [TurtleAttrib] -> [TurtleAttrib] -> TurtleAttrib
spreadAttrib :: PathElemDescr -> Turtle -> [TurtleAttrib] -> [TurtleAttrib]
figure :: Turtle -> PathElemDescr -> ([Path], [PicPos])
turtle :: IsPicture a => a -> Picture
home :: Turtle
toleft :: Turtle
toright :: Turtle
turn :: Numeric -> Turtle
turnl :: Numeric -> Turtle
turnr :: Numeric -> Turtle
forward :: Numeric -> Turtle
backward :: Numeric -> Turtle
penUp :: Turtle
penDown :: Turtle
plot :: [Turtle] -> Turtle
fork :: Turtle -> Turtle -> Turtle
instance GHC.Show.Show FMP.Turtle.TurtleAttrib
instance GHC.Show.Show FMP.Turtle.Turtle
instance FMP.Types.HasDefault FMP.Turtle.TurtleDescr
instance FMP.Picture.IsHideable FMP.Turtle.Turtle
instance FMP.Picture.HasConcat FMP.Turtle.Turtle
instance FMP.Types.HasRelax FMP.Turtle.Turtle
instance FMP.Picture.HasPicture FMP.Turtle.Turtle
instance FMP.Color.HasColor FMP.Turtle.Turtle
instance FMP.Picture.HasPen FMP.Turtle.Turtle
instance FMP.Picture.IsPicture FMP.Turtle.Turtle
module FMP
-- | The abstract type of documents. A Doc represents a set of
-- layouts. A Doc with no occurrences of Union or NoDoc represents just
-- one layout.
data Doc :: *
metaPost :: Int -> Picture -> Parameters -> MetaPost
-- | emit|s a file called NAME.MP (or NAME.NUMBER.MP in not |newmp|) with a
-- beginfig(NUMBER) in it, and runs MetaPost on it. The conversion to
-- |MetaPost|, which |HasEmit|, is done by |metaPost|. Finally, the
-- emitted |Doc| is |show|n.
--
-- wferi )
generate :: IsPicture a => String -> Int -> a -> IO ()
funcmp :: IsPicture a => String -> Int -> a -> IO ()