-- 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 ()