derivation-trees 0.7.1 → 0.7.2
raw patch · 6 files changed
+18/−49 lines, 6 filesdep +labeled-treePVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependencies added: labeled-tree
API changes (from Hackage documentation)
- Data.LabeledTree: (::>) :: k -> a -> ::> k a
- Data.LabeledTree: Node :: a -> Forest k a -> Tree k a
- Data.LabeledTree: data (::>) k a
- Data.LabeledTree: data Tree k a
- Data.LabeledTree: instance (Show k, Show a) => Show (Tree k a)
- Data.LabeledTree: instance (Show k, Show a) => Show (k ::> a)
- Data.LabeledTree: instance Foldable ((::>) k)
- Data.LabeledTree: instance Foldable (Tree k)
- Data.LabeledTree: instance Functor ((::>) k)
- Data.LabeledTree: instance Functor (Tree k)
- Data.LabeledTree: instance Traversable ((::>) k)
- Data.LabeledTree: instance Traversable (Tree k)
- Data.LabeledTree: rootLabel :: Tree k a -> a
- Data.LabeledTree: subForest :: Tree k a -> Forest k a
- Data.LabeledTree: type Forest k a = [k ::> Tree k a]
+ DerivationTrees: (<>) :: (Monoid a) => a -> a -> a
+ DerivationTrees: TeX :: String -> TeX
+ DerivationTrees: newtype TeX
+ DerivationTrees.Basics: instance IsString TeX
Files
- Data/LabeledTree.hs +0/−34
- DerivationTrees.hs +8/−9
- DerivationTrees/Basics.hs +5/−0
- DerivationTrees/CPTS.hs +2/−3
- Main.hs +1/−1
- derivation-trees.cabal +2/−2
− Data/LabeledTree.hs
@@ -1,34 +0,0 @@-{-# LANGUAGE TypeOperators #-}-module Data.LabeledTree where--import Data.Traversable-import Data.Foldable-import Control.Applicative--data Tree k a = Node {- rootLabel :: a,- subForest :: Forest k a-} deriving Show--data k ::> a = k ::> a- deriving Show--type Forest k a = [k ::> Tree k a]--instance Functor ((::>) k) where- fmap = fmapDefault--instance Foldable ((::>) k) where- foldMap = foldMapDefault--instance Traversable ((::>) k) where- traverse f (k ::> v) = (::>) k <$> f v--instance Functor (Tree k) where- fmap = fmapDefault--instance Foldable (Tree k) where- foldMap = foldMapDefault--instance Traversable (Tree k) where - traverse f (Node l sf) = Node <$> f l <*> (traverse (traverse (traverse f)) sf)
DerivationTrees.hs view
@@ -6,7 +6,7 @@ module Data.LabeledTree, -- * TeX extras-brace, paren, brack, tex, text, (!),+brace, paren, brack, tex, text, (!), TeX(..), (<>), -- * Derivation' building -- axiom, rule, etc, aborted, @@ -93,15 +93,14 @@ delayPre a s (Link {..} ::> j) = Link {steps = s, align = a, ..} ::> j delayD :: Derivation -> Derivation-delayD (Node r ps0) = Node r [Link {..} ::> d | l ::> d <- ps, - let (steps,align) = case l of- Delayed{..} -> (1 + maximum (0 : map depth ps'),align)- Link{..} -> (steps,align)]- where style = Dotted- label = mempty- ps = fmap (fmap delayD) ps0+delayD (Node r ps0) = Node r (map delayP ps)+ where ps = fmap (fmap delayD) ps0 ps' = filter (not . isDelayed) ps- + delayP (Delayed{..} ::> d) = Link{..} ::> d+ where steps = 1 + maximum (0 : map depth ps')+ label = mempty+ style = Dotted+ delayP p = p delayF :: Figure () -> Figure () delayF (Figure{..}) = Figure{contents = delayD contents,..}
DerivationTrees/Basics.hs view
@@ -4,7 +4,12 @@ where +import GHC.Exts( IsString(..) ) import Data.Monoid+++instance IsString TeX where+ fromString = TeX data LineStyle = None | Simple | Double | Dotted | Dashed | Waved | TeXDotted deriving (Enum,Show)
DerivationTrees/CPTS.hs view
@@ -82,8 +82,6 @@ Co :: Sort -> Term -> Drv -> Drv -> Drv An :: (Derivation -> Derivation) -> Drv -> Drv -- Arbitrary annotation / change Ln :: Link -> Drv -> Drv- -- Ma :: Drv -> Drv- -- Re :: TeX -> Jug -> Drv -> Drv deriving Show wk = Wk 0 @@ -227,8 +225,9 @@ stp (St s d) (Jug v t (b':env)) = check (b === b') ("Start: bindings do not match: " ++ show (b, b')) $ (rtext "st", [(d, Jug t (Sor s) env)]) where b = rebind v t-stp (Wk idx s rest d) (Jug v t env) = (rtext label, [(rest,Jug v t env'), (d, jug' (bToT b) s env')])+stp (Wk idx s rest d) (Jug v t env) = (rtext label, [(rest,Jug v t env'), (d, jug' (bToT b) s env'')]) where env' = rm idx env+ env'' = drop (1 + idx) env b = env !! idx label | idx == 0 = "wk" | otherwise = "wk (" ++ show idx ++ ")"
Main.hs view
@@ -177,7 +177,7 @@ (named "(1)" $ Ap (Mult (Unbound :- Con "A")) (wk "s_A" ind' lem) (St "s_A" lem))- (delay CenterA 3 $ wk "~s_A" + (dR $ wk "~s_A" (wk "s_A" (Ap (Mult (Unbound :- Con "B")) ind'
derivation-trees.cabal view
@@ -1,5 +1,5 @@ name: derivation-trees-version: 0.7.1+version: 0.7.2 category: Graphics, Math synopsis: Typeset Derivation Trees via MetaPost description:@@ -16,11 +16,11 @@ extra-source-files: Main.hs library+ build-depends: labeled-tree==1.* build-depends: base==4.* build-depends: mtl==1.1.* build-depends: applicative-extras==0.1.* exposed-modules:- Data.LabeledTree DerivationTrees DerivationTrees.Basics DerivationTrees.ManualPTS