lp-diagrams 2.0.0 → 2.1.0
raw patch · 3 files changed
+15/−8 lines, 3 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
- Graphics.Diagrams.Types: traceLabel :: forall lab_akD1 m_akD2 location_akD3 x_akD4. Monad x_akD4 => Getter (Backend lab_akD1 m_akD2) ((location_akD3 -> (FrozenPoint -> m_akD2 ()) -> x_akD4 ()) -> (forall (a_akD5 :: Type). m_akD2 a_akD5 -> x_akD4 a_akD5) -> location_akD3 -> lab_akD1 -> x_akD4 BoxSpec)
- Graphics.Diagrams.Types: diaBackend :: forall lab_akJT m_akJU lab_akPz m_akPA. Lens (Env lab_akJT m_akJU) (Env lab_akPz m_akPA) (Backend lab_akJT m_akJU) (Backend lab_akPz m_akPA)
+ Graphics.Diagrams.Types: diaBackend :: forall lab_akD7 m_akD8 lab_akL8 m_akL9. Lens (Env lab_akD7 m_akD8) (Env lab_akL8 m_akL9) (Backend lab_akD7 m_akD8) (Backend lab_akL8 m_akL9)
- Graphics.Diagrams.Types: diaPathOptions :: forall lab_akJT m_akJU. Lens' (Env lab_akJT m_akJU) PathOptions
+ Graphics.Diagrams.Types: diaPathOptions :: forall lab_akD7 m_akD8. Lens' (Env lab_akD7 m_akD8) PathOptions
- Graphics.Diagrams.Types: diaTightness :: forall lab_akJT m_akJU. Lens' (Env lab_akJT m_akJU) Rational
+ Graphics.Diagrams.Types: diaTightness :: forall lab_akD7 m_akD8. Lens' (Env lab_akD7 m_akD8) Rational
- Graphics.Diagrams.Types: tracePath :: forall lab_akD1 m_akD2. Lens' (Backend lab_akD1 m_akD2) (PathOptions -> FrozenPath -> m_akD2 ())
+ Graphics.Diagrams.Types: tracePath :: Lens' (Backend lab m) (PathOptions -> FrozenPath -> m ())
Files
- Graphics/Diagrams/Core.hs +11/−5
- Graphics/Diagrams/Types.hs +3/−2
- lp-diagrams.cabal +1/−1
Graphics/Diagrams/Core.hs view
@@ -1,4 +1,4 @@-{-# LANGUAGE TypeSynonymInstances, FlexibleContexts, FlexibleInstances, GeneralizedNewtypeDeriving, MultiParamTypeClasses, RecursiveDo, TypeFamilies, OverloadedStrings, RecordWildCards,UndecidableInstances, PackageImports, TemplateHaskell, RankNTypes, GADTs, ImpredicativeTypes, DeriveFunctor, ScopedTypeVariables, ConstraintKinds, OverloadedStrings #-}+{-# LANGUAGE TypeSynonymInstances, FlexibleContexts, FlexibleInstances, GeneralizedNewtypeDeriving, MultiParamTypeClasses, RecursiveDo, TypeFamilies, OverloadedStrings, RecordWildCards,UndecidableInstances, PackageImports, TemplateHaskell, RankNTypes, GADTs, DeriveFunctor, ScopedTypeVariables, ConstraintKinds, OverloadedStrings #-} module Graphics.Diagrams.Core ( module Graphics.Diagrams.Types,@@ -26,6 +26,7 @@ import Data.String import System.Process import SMT.Model+import Numeric (showFFloat) -- | Expressions are linear functions of the variables @@ -151,7 +152,9 @@ Right model -> return $ M.fromList model Left err -> do print err error "die."- lkMod m (Var v) = M.findWithDefault (error "variable not in model") ("x"++show v) m+ lkMod m (Var v) = M.findWithDefault+ (error ("variable not in model x" ++ show v))+ ("x"++show v) m forM_ ds (\(Freeze f x) -> f (fmap (\(E (R g)) -> g (lkMod solution)) x)) return a@@ -229,8 +232,8 @@ drawText :: Monad m => Point' Expr -> lab -> Diagram lab m BoxSpec drawText point lab = do- tl <- view (diaBackend . traceLabel)- tl freeze diaRaw point lab+ be <- view diaBackend+ case be of Backend _ tl -> tl freeze diaRaw point lab diaRaw :: Monad m => m a -> Diagram lab m a diaRaw = Dia . lift@@ -305,6 +308,9 @@ absE (E x) = E (absE x) instance IsDouble SExpr where- fromDouble x = S $ show x+ fromDouble x = S $ showFFloat Nothing x ""+ -- can't use 'show': z3 solver 4.4.1 does not understand scientific notation+ -- (eg. 4e-2)+ -- sqrtE x = binop "^" x "0.5" absE = unop "abs"
Graphics/Diagrams/Types.hs view
@@ -1,4 +1,4 @@-{-# LANGUAGE TypeSynonymInstances, FlexibleContexts, FlexibleInstances, GeneralizedNewtypeDeriving, MultiParamTypeClasses, RecursiveDo, TypeFamilies, OverloadedStrings, RecordWildCards,UndecidableInstances, PackageImports, TemplateHaskell, RankNTypes, GADTs, ImpredicativeTypes, DeriveFunctor, ScopedTypeVariables, ConstraintKinds #-}+{-# LANGUAGE TypeSynonymInstances, FlexibleContexts, FlexibleInstances, GeneralizedNewtypeDeriving, MultiParamTypeClasses, RecursiveDo, TypeFamilies, OverloadedStrings, RecordWildCards,UndecidableInstances, PackageImports, TemplateHaskell, RankNTypes, GADTs, DeriveFunctor, ScopedTypeVariables, ConstraintKinds, InstanceSigs #-} module Graphics.Diagrams.Types where import Algebra.Classes as AC@@ -149,7 +149,8 @@ x BoxSpec } -$(makeLenses ''Backend)+tracePath :: Lens' (Backend lab m) (PathOptions -> FrozenPath -> m ())+tracePath f (Backend tp tl) = fmap (\x -> Backend x tl) (f tp) data Env lab m = Env {_diaTightness :: Rational -- ^ Multiplicator to minimize constraints ,_diaPathOptions :: PathOptions
lp-diagrams.cabal view
@@ -1,5 +1,5 @@ name: lp-diagrams-version: 2.0.0+version: 2.1.0 synopsis: An EDSL for diagrams based based on linear constraints license: AGPL-3 license-file: LICENSE