packages feed

order-maintenance 0.2.0.0 → 0.2.1.0

raw patch · 7 files changed

+58/−24 lines, 7 filesdep ~order-maintenancePVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependency ranges changed: order-maintenance

API changes (from Hackage documentation)

- Data.Order.Pair: companion :: (forall o. OrderPair o a) -> a
- Data.Order.Pair: empty :: OrderPair o ()
- Data.Order.Pair: emptyBy :: Algorithm -> OrderPair o ()
+ Control.Monad.Trans.Order.Lazy: lift :: Functor f => f a -> OrderT o f a
+ Data.Order.Pair: emptyOrderPair :: a -> OrderPair o a
+ Data.Order.Pair: emptyOrderPairUsing :: Algorithm -> a -> OrderPair o a
+ Data.Order.Pair: withoutOrder :: (forall o. OrderPair o a) -> a

Files

order-maintenance.cabal view
@@ -1,5 +1,5 @@ Name:          order-maintenance-Version:       0.2.0.0+Version:       0.2.1.0 Cabal-Version: >= 1.16 Build-Type:    Simple License:       BSD3@@ -9,7 +9,7 @@ Maintainer:    wolfgang-it@jeltsch.info Stability:     provisional Homepage:      http://hackage.haskell.org/package/order-maintenance-Package-URL:   http://hackage.haskell.org/packages/archive/order-maintenance/0.2.0.0/order-maintenance-0.2.0.0.tar.gz+Package-URL:   http://hackage.haskell.org/package/order-maintenance-0.2.1.0/order-maintenance-0.2.1.0.tar.gz Synopsis:      Algorithms for the order maintenance problem with a safe                interface Description:   This package is about order maintenance.@@ -25,7 +25,7 @@      Type:     darcs     Location: http://hub.darcs.net/jeltsch/order-maintenance-    Tag:      order-maintenance-0.2.0.0+    Tag:      order-maintenance-0.2.1.0  Library @@ -39,6 +39,7 @@                         GeneralizedNewtypeDeriving                         KindSignatures                         Rank2Types+                        TupleSections      Exposed-Modules: Control.Monad.Trans.Order                      Control.Monad.Trans.Order.Lazy@@ -75,7 +76,7 @@                    containers            >= 0.5  && < 0.6,                    QuickCheck            >= 2.6  && < 3,                    transformers          >= 0.3  && < 0.6,-                   order-maintenance     == 0.2.0.0+                   order-maintenance     == 0.2.1.0      Default-Language: Haskell2010 
src/library/Control/Monad/Trans/Order/Lazy.hs view
@@ -10,6 +10,7 @@     OrderT,     performT,     getOrderToken,+    lift,      -- * Element creation @@ -66,6 +67,13 @@  getOrderToken :: Applicative f => OrderT o f () getOrderToken = OrderT $ OrderTRep.getOrderToken++lift :: Functor f => f a -> OrderT o f a+lift struct = OrderT $ OrderTRep.lift struct+{-NOTE:+    This version is more general than the one from MonadTrans, since it works+    with arbitrary functors, not just monads.+-}  -- * Element creation 
src/library/Control/Monad/Trans/Order/Lazy/Type.hs view
@@ -10,7 +10,7 @@ import           Control.Monad.Trans.Class import           Control.Monad.IO.Class import qualified Control.Monad.Trans.State.Lazy as Lazy-import           Control.Monad.Trans.Order.Representation+import           Control.Monad.Trans.Order.Representation hiding (lift)  newtype OrderT o m a = OrderT {             runOrderT :: OrderTRep Lazy.StateT o m a
src/library/Control/Monad/Trans/Order/Representation.hs view
@@ -5,6 +5,7 @@     OrderTRep (OrderTRep),     performT,     getOrderToken,+    lift,      -- * Element creation @@ -22,11 +23,12 @@  -- Control -import Control.Applicative-import Control.Monad-import Control.Monad.Fix-import Control.Monad.Trans.Class-import Control.Monad.IO.Class+import           Control.Applicative+import           Control.Monad+import           Control.Monad.Fix+import           Control.Monad.Trans.Class (MonadTrans)+import qualified Control.Monad.Trans.Class (lift)+import           Control.Monad.IO.Class  -- Data @@ -130,6 +132,13 @@  getOrderToken :: (StateMonadTrans t, Applicative f) => OrderTRep t o f () getOrderToken = OrderTRep $ state $ \ orderRep -> (orderRep `seq` (), orderRep)++lift :: (StateMonadTrans t, Functor f) => f a -> OrderTRep t o f a+lift struct = OrderTRep $ stateT $ \ orderRep -> (, orderRep) <$> struct+{-NOTE:+    This version is more general than the one from MonadTrans, since it works+    with arbitrary functors, not just monads.+-}  -- * Element creation 
src/library/Control/Monad/Trans/Order/Strict.hs view
@@ -30,7 +30,8 @@ import           Control.Applicative import           Control.Monad import           Control.Monad.Fix-import           Control.Monad.Trans.Class+import           Control.Monad.Trans.Class (MonadTrans)+import qualified Control.Monad.Trans.Class as Trans (lift) import           Control.Monad.IO.Class import qualified Control.Monad.Trans.State.Strict as Strict import           Control.Monad.Trans.Order.Representation@@ -135,7 +136,7 @@      -- MonadTrans -    lift' = lift+    lift' = Trans.lift      -- MonadIO @@ -151,6 +152,13 @@  getOrderToken :: Applicative f => OrderT o f () getOrderToken = OrderT $ OrderTRep.getOrderToken++lift :: Functor f => f a -> OrderT o f a+lift struct = OrderT $ OrderTRep.lift struct+{-NOTE:+    This version is more general than the one from MonadTrans, since it works+    with arbitrary functors, not just monads.+-}  -- * Element creation 
src/library/Data/Order/Pair.hs view
@@ -1,9 +1,9 @@ module Data.Order.Pair (      OrderPair,-    empty,-    emptyBy,-    companion+    emptyOrderPair,+    emptyOrderPairUsing,+    withoutOrder  ) where @@ -25,15 +25,17 @@  -- NOTE: OrderPair is imported from Data.Order.Pair.Type. -empty :: OrderPair o ()-empty = emptyBy defaultAlgorithm+emptyOrderPair :: a -> OrderPair o a+emptyOrderPair = emptyOrderPairUsing defaultAlgorithm -emptyBy :: Algorithm -> OrderPair o ()-emptyBy (Algorithm rawAlg) = OrderPair ((), emptyOrderRepBy rawAlg)+emptyOrderPairUsing :: Algorithm -> a -> OrderPair o a+emptyOrderPairUsing (Algorithm rawAlg) val = orderPair where -{-# NOINLINE emptyOrderRepBy #-}-emptyOrderRepBy :: RawAlgorithm RealWorld o e -> OrderRep o e-emptyOrderRepBy rawAlg = unsafePerformIO $ newOrderRep rawAlg+    orderPair = OrderPair (val, emptyOrderRepUsing rawAlg) -companion :: (forall o . OrderPair o a) -> a-companion (OrderPair (comp, _)) = comp+{-# NOINLINE emptyOrderRepUsing #-}+emptyOrderRepUsing :: RawAlgorithm RealWorld o e -> OrderRep o e+emptyOrderRepUsing rawAlg = unsafePerformIO $ newOrderRep rawAlg++withoutOrder :: (forall o . OrderPair o a) -> a+withoutOrder (OrderPair (comp, _)) = comp
src/library/Data/Order/Pair/Type.hs view
@@ -9,3 +9,9 @@ import Data.Order.Representation  data OrderPair o a = forall o' e' . OrderPair (a, OrderRep o' e')++instance Functor (OrderPair o) where++    fmap fun (OrderPair (val, orderRep)) = OrderPair (fun val, orderRep)++    val <$ OrderPair (_, orderRep) = OrderPair (val, orderRep)