packages feed

glpk-hs 0.7 → 0.8

raw patch · 5 files changed

+9/−5 lines, 5 files

Files

examples/example1.hs view
@@ -17,7 +17,7 @@ lp = execLPM $ do   setDirection Max   setObjective objFun-  leqTo (add $ map (1 *&) ["x1", "x2", "x3"]) 100+  leqTo (Data.LinearProgram.sum $ map (1 *&) ["x1", "x2", "x3"]) 100   leqTo (10 *& "x1" + 4 *& "x2" + 5 *& "x3") 600   leqTo (linCombination [(2, "x1"), (2, "x2"), (6, "x3")]) 300   varGeq "x1" 0
glpk-hs.cabal view
@@ -1,5 +1,5 @@ Name:           glpk-hs-Version:        0.7+Version:        0.8 Author:         Louis Wasserman License:        BSD3 License-file:   LICENSE
src/Data/LinearProgram/Common.hs view
@@ -13,7 +13,7 @@ import GHC.Exts (build)  {-# RULES-	"assocs" assocs = \ m -> build (\ c n -> foldWithKey (curry c) n m);-	"elems" elems = \ m -> build (\ c n -> foldWithKey (const c) n m);-	"keys" keys = \ m -> build (\ c n -> foldWithKey (\ k _ -> c k) n m);+	"assocs" assocs = \ m -> build (\ c n -> foldrWithKey (curry c) n m);+	"elems" elems = \ m -> build (\ c n -> foldrWithKey (const c) n m);+	"keys" keys = \ m -> build (\ c n -> foldrWithKey (\ k _ -> c k) n m); 	#-}
src/Data/LinearProgram/GLPK/Types.hs view
@@ -4,6 +4,7 @@  import Control.Concurrent (runInBoundThread) import Control.Exception (bracket)+import qualified Control.Monad.Fail as Fail import Control.Monad.Trans (MonadIO (..)) import Control.Monad (ap) @@ -35,6 +36,8 @@         return x = GLP $ \ _ -> return x         m >>= k = GLP $ \ lp -> do      x <- execGLPK m lp                                         execGLPK (k x) lp+instance Fail.MonadFail GLPK where+        fail s = GLP . const $ Fail.fail s instance Functor GLPK where   fmap f (GLP k) = GLP $ \p -> fmap f (k p) 
src/Data/LinearProgram/LinExpr.hs view
@@ -5,6 +5,7 @@  import Data.LinearProgram.Types import Algebra.Classes+import Algebra.Linear import Data.Functor import Data.Foldable