packages feed

hlatex 0.3.1 → 0.3.2

raw patch · 11 files changed

+56/−66 lines, 11 filesdep −derivePVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependencies removed: derive

API changes (from Hackage documentation)

+ Language.LaTeX: infixr 0 !$?
+ Language.LaTeX.Builder: infixr 0 $?
+ Language.LaTeX.Builder.MonoidUtils: infixr 6 <>
+ Language.LaTeX.Slicer: infixr 0 ^$
+ Language.LaTeX.Types: instance GHC.Base.Semigroup Language.LaTeX.Types.LatexItm
+ Language.LaTeX.Types: instance GHC.Base.Semigroup Language.LaTeX.Types.LatexLength
+ Language.LaTeX.Types: instance GHC.Base.Semigroup Language.LaTeX.Types.MathItem
+ Language.LaTeX.Types: instance GHC.Base.Semigroup Language.LaTeX.Types.MathItm
+ Language.LaTeX.Types: instance GHC.Base.Semigroup Language.LaTeX.Types.ParItm
+ Language.LaTeX.Types: instance GHC.Base.Semigroup Language.LaTeX.Types.PreambleItm
+ Language.LaTeX.Types: instance GHC.Base.Semigroup Language.LaTeX.Types.Star
+ Language.LaTeX.Types: instance GHC.Base.Semigroup a => GHC.Base.Semigroup (Language.LaTeX.Types.LatexM a)
- Language.LaTeX: class Monoid a
+ Language.LaTeX: class Semigroup a => Monoid a
- Language.LaTeX.Builder.MonoidUtils: (<>) :: Monoid m => m -> m -> m
+ Language.LaTeX.Builder.MonoidUtils: (<>) :: Semigroup a => a -> a -> a
- Language.LaTeX.Types: LengthCst :: (Maybe TexUnit) -> Rational -> LatexLength
+ Language.LaTeX.Types: LengthCst :: Maybe TexUnit -> Rational -> LatexLength

Files

Language/LaTeX.hs view
@@ -65,7 +65,6 @@   ,runLatexM   ) where-import Data.Monoid (Monoid(..)) import Data.List (intercalate) import Language.LaTeX.Types import Language.LaTeX.Printer (showLaTeX)
Language/LaTeX/Builder.hs view
@@ -55,13 +55,11 @@ import Data.List hiding (sum, and, group, unwords) import qualified Data.List as L import Data.Ratio-import Data.Monoid import Data.Char import Data.Maybe import Data.Foldable (foldMap) import Data.Traversable import Data.String (IsString(..))-import Control.Applicative hiding (optional) import Control.Monad hiding (mapM) import Control.Monad.Error (throwError) import Control.Monad.Writer (Writer, execWriter, tell)
Language/LaTeX/Builder/Beamer.hs view
@@ -8,10 +8,8 @@ import qualified Language.LaTeX.Builder.Internal as BI import qualified Language.LaTeX.Builder as B import Language.LaTeX.Builder.QQ-import Control.Applicative import Data.List (intersperse) import Data.Maybe-import Data.Monoid  {- pkg :: PackageName
Language/LaTeX/Builder/Internal.hs view
@@ -5,9 +5,7 @@                        sin, cos, succ, sum, pi, mapM) import qualified Data.List as L import Data.Maybe-import Data.Monoid import Data.Traversable (sequenceA, mapM)-import Control.Applicative hiding (optional) import Control.Monad hiding (mapM) import Control.Monad.Error (throwError) 
Language/LaTeX/Builder/Math.hs view
@@ -45,7 +45,6 @@ import Data.String import qualified Data.IntMap as IntMap import Control.Arrow-import Control.Applicative import Control.Monad hiding (mapM) import Control.Monad.Error (throwError) 
Language/LaTeX/Builder/MonoidUtils.hs view
@@ -1,6 +1,5 @@ module Language.LaTeX.Builder.MonoidUtils (ø, (⊕), (<>), (<||>), (<&&>), mapNonEmpty) where -import Data.Monoid import Data.Monoid.Unicode ((⊕))  ø :: Monoid m => m
Language/LaTeX/Builder/QQ.hs view
@@ -12,7 +12,6 @@  import Data.List import Data.Char-import Data.Functor import Language.Haskell.TH (Q, Exp, Name, appE, varE, stringE, litP, stringL, valD,                             varP, sigD, mkName, normalB, conE) import Language.Haskell.TH.Quote
Language/LaTeX/Printer.hs view
@@ -1,6 +1,5 @@ module Language.LaTeX.Printer where -import Data.Monoid import Data.List (intersperse) import Data.Ratio (numerator, denominator) import Data.Foldable (foldMap)
Language/LaTeX/Slicer.hs view
@@ -2,7 +2,6 @@   (marknote, mark, marker, (^$), slice) where -import Data.Monoid import Control.Monad.Writer import Language.LaTeX.Types import Language.LaTeX.Builder.MonoidUtils
Language/LaTeX/Types.hs view
@@ -1,5 +1,6 @@ {-# LANGUAGE GeneralizedNewtypeDeriving, TemplateHaskell,-             DeriveDataTypeable, PatternGuards #-}+             DeriveDataTypeable, PatternGuards,+             DeriveFunctor, DeriveFoldable, DeriveTraversable #-}  -- Those extensions are required by the Uniplate instances. --{-# LANGUAGE FlexibleInstances, MultiParamTypeClasses #-}@@ -9,12 +10,10 @@ import Data.Monoid (Monoid(..)) import Data.List (intercalate) import Data.Ratio ((%))-import Data.Traversable import Data.Foldable import Data.String (IsString(..)) -- import Data.Generics.PlateTypeable import Data.Data-import Data.DeriveTH import Control.Applicative import Control.Arrow (second) import Control.Monad.Writer (Writer)@@ -73,12 +72,14 @@                  | PreambleNote Key Note PreambleItm   deriving (Show, Eq, Typeable, Data) +instance Semigroup PreambleItm where+  PreambleConcat xs <> PreambleConcat ys = PreambleConcat (xs ++ ys)+  PreambleConcat xs <> y                 = PreambleConcat (xs ++ [y])+  x                 <> PreambleConcat ys = PreambleConcat (x : ys)+  x                 <> y                 = PreambleConcat [x, y]+ instance Monoid PreambleItm where-  mempty  = PreambleConcat []-  PreambleConcat xs `mappend` PreambleConcat ys = PreambleConcat (xs ++ ys)-  PreambleConcat xs `mappend` y                 = PreambleConcat (xs ++ [y])-  x                 `mappend` PreambleConcat ys = PreambleConcat (x : ys)-  x                 `mappend` y                 = PreambleConcat [x, y]+  mempty = PreambleConcat []  data TexDcl = TexDcl { texDeclName :: String                      , texDeclArgs :: [Arg AnyItm]@@ -123,18 +124,20 @@ appendAny Length{}      _ = Nothing appendAny SaveBin{}     _ = Nothing +instance Semigroup LatexItm where+  RawTex xs       <> RawTex ys = RawTex (xs ++ ys)+  LatexCast x     <> LatexCast y | Just z <- appendAny x y = LatexCast z+  LatexEmpty      <> x = x+  x               <> LatexEmpty = x+  LatexAppend x y <> z = x <> (y <> z) -- TODO complexity issue?+  x <> LatexAppend y z =+    case x <> y of+      LatexAppend x' y' -> x' `LatexAppend` (y' <> z) -- TODO complexity issue?+      xy                -> xy <> z+  x               <> y = x `LatexAppend` y+ instance Monoid LatexItm where   mempty  = LatexEmpty -- LatexConcat []-  RawTex xs       `mappend` RawTex ys = RawTex (xs ++ ys)-  LatexCast x     `mappend` LatexCast y | Just z <- appendAny x y = LatexCast z-  LatexEmpty      `mappend` x = x-  x               `mappend` LatexEmpty = x-  LatexAppend x y `mappend` z = x `mappend` (y `mappend` z) -- TODO complexity issue?-  x `mappend` LatexAppend y z =-    case x `mappend` y of-      LatexAppend x' y' -> x' `LatexAppend` (y' `mappend` z) -- TODO complexity issue?-      xy                -> xy `mappend` z-  x               `mappend` y = x `LatexAppend` y  {-   LatexConcat xs `mappend` LatexConcat ys = LatexConcat (xs ++ ys)@@ -150,7 +153,7 @@     where f = RawTex . concatMap rawhchar . intercalate "\n" . filter (not . null) . lines  data Named a = Named String a-  deriving (Show, Eq, Typeable, Data)+  deriving (Show, Eq, Typeable, Data, Functor, Foldable, Traversable)  data PackageAction = PackageDependency PackageName                    | ProvidePackage    PackageName@@ -166,15 +169,17 @@            | RawArg String            | LiftArg a            | PackageAction PackageAction-  deriving (Show, Eq, Typeable, Data)+  deriving (Show, Eq, Typeable, Data, Functor, Foldable, Traversable)  data Star = Star | NoStar   deriving (Show, Eq, Typeable, Data) +instance Semigroup Star where+  NoStar <> x      = x+  x      <> _      = x+ instance Monoid Star where   mempty = NoStar-  NoStar `mappend` x      = x-  x      `mappend` _      = x  data Coord = MkCoord LatexLength LatexLength   deriving (Show, Eq, Typeable, Data)@@ -191,12 +196,14 @@              | ParNote Key Note ParItm   deriving (Show, Eq, Typeable, Data) +instance Semigroup ParItm where+  ParConcat xs <> ParConcat ys = ParConcat (xs ++ ys)+  ParConcat xs <> y            = ParConcat (xs ++ [y])+  x            <> ParConcat ys = ParConcat (x : ys)+  x            <> y            = ParConcat [x, y]+ instance Monoid ParItm where-  mempty  = ParConcat []-  ParConcat xs `mappend` ParConcat ys = ParConcat (xs ++ ys)-  ParConcat xs `mappend` y            = ParConcat (xs ++ [y])-  x            `mappend` ParConcat ys = ParConcat (x : ys)-  x            `mappend` y            = ParConcat [x, y]+  mempty = ParConcat []  unParNote :: ParItm -> Maybe (Key, Note, ParItm) unParNote (ParNote k n p) = Just (k, n, p)@@ -222,12 +229,14 @@                | MathNote Key Note MathItm   deriving (Show, Eq, Typeable, Data) +instance Semigroup MathItm where+  MathConcat xs <> MathConcat ys = MathConcat (xs ++ ys)+  MathConcat xs <> y             = MathConcat (xs ++ [y])+  x             <> MathConcat ys = MathConcat (x : ys)+  x             <> y             = MathConcat [x, y]+ instance Monoid MathItm where-  mempty  = MathConcat []-  MathConcat xs `mappend` MathConcat ys = MathConcat (xs ++ ys)-  MathConcat xs `mappend` y              = MathConcat (xs ++ [y])-  x              `mappend` MathConcat ys = MathConcat (x : ys)-  x              `mappend` y              = MathConcat [x, y]+  mempty = MathConcat []  instance Num MathItm where   (+) = MathBinOp "+"@@ -305,9 +314,11 @@   signum = error "LatexLength.signum is undefined"   fromInteger = LengthCst Nothing . (%1) +instance Semigroup LatexLength where+  (<>) = (+)+ instance Monoid LatexLength where   mempty = 0-  mappend = (+)  instance Fractional LatexLength where   x / LengthCst Nothing ry = scaleBy (1/ry) x@@ -323,7 +334,7 @@                | Rr --- ^ Right                | Rvline --- ^ A vertical line                | Rtext a --- ^ A fixed text column (@-expression in LaTeX parlance)-  deriving (Show, Eq, Typeable, Data)+  deriving (Show, Eq, Typeable, Data, Functor, Foldable, Traversable)  {- instance Functor RowSpec where@@ -381,7 +392,7 @@ data Row cell = Cells [cell]               | Hline               | Cline Int Int-  deriving (Show, Eq, Typeable, Data)+  deriving (Show, Eq, Typeable, Data, Functor, Foldable, Traversable)  {- instance Functor Row where@@ -433,10 +444,12 @@             MonadError ErrorMessage, Show, Eq, Num, Fractional,             Typeable, Data) +instance Semigroup a => Semigroup (LatexM a) where+  (<>) = liftM2 (<>)+-- sconcat = liftM sconcat . sequenceA+ instance Monoid a => Monoid (LatexM a) where   mempty = pure mempty-  mappend = liftM2 mappend-  mconcat = liftM mconcat . sequenceA  instance IsString a => IsString (LatexM a) where fromString = pure . fromString @@ -447,7 +460,7 @@ newtype AnyItem   = AnyItem { anyItmM :: LatexM AnyItm }   deriving (Eq, Show, Typeable, Data) newtype MathItem  = MathItem { mathItmM :: LatexM MathItm }-  deriving (Monoid, Eq, Show, Num, Fractional, Typeable, Data)+  deriving (Semigroup, Monoid, Eq, Show, Num, Fractional, Typeable, Data)  type ListItem  = LatexM ListItm type PreambleItem = LatexM PreambleItm@@ -483,19 +496,6 @@  -- instance (Integral a, Typeable a, Typeable b, PlateAll a b) => PlateAll (Ratio a) b where --   plateAll r = plate (%) |+ numerator r |+ denominator r--$(derive makeFunctor     ''Named)-$(derive makeFoldable    ''Named)-$(derive makeTraversable ''Named)-$(derive makeFunctor     ''Arg)-$(derive makeFoldable    ''Arg)-$(derive makeTraversable ''Arg)-$(derive makeFunctor     ''RowSpec)-$(derive makeFoldable    ''RowSpec)-$(derive makeTraversable ''RowSpec)-$(derive makeFunctor     ''Row)-$(derive makeFoldable    ''Row)-$(derive makeTraversable ''Row)  {- $(derive makeUniplateTypeable ''SaveBin)
hlatex.cabal view
@@ -1,6 +1,6 @@ name:            hlatex-cabal-version:   >= 1.8-version:         0.3.1+cabal-version:   >= 1.10+version:         0.3.2 license:         BSD3 license-File:    LICENSE copyright:       (c) Nicolas Pouillard@@ -20,7 +20,7 @@                  base>=3.0&&<5, containers>=0.1, process, filepath, directory,                  template-haskell >= 2.5,                  transformers>=0.2.1&&<1, mtl>2.0, base-unicode-symbols,-                 uniplate>=1.4&&<1.7, derive, utf8-string+                 uniplate>=1.4&&<1.7, utf8-string     exposed-modules:                  Language.LaTeX,                  Language.LaTeX.Types,@@ -40,12 +40,14 @@                  Language.LaTeX.Checker,                  Language.LaTeX.Unicode     ghc-options: -Wall+    default-language: Haskell2010  executable generate_hlatex_user_guide     Build-depends: base>=3.0, containers>=0.1, frquotes,                    transformers, mtl>2.0, base-unicode-symbols     main-is: doc/user_guide.hs     ghc-options: -Wall+    default-language: Haskell2010   if !flag(build_doc)     Buildable: False