packages feed

Adaptive 0.22 → 0.23

raw patch · 8 files changed

+38/−79 lines, 8 filesdep −haskell98dep ~basenew-uploaderPVP ok

version bump matches the API change (PVP)

Dependencies removed: haskell98

Dependency ranges changed: base

API changes (from Hackage documentation)

Files

Adaptive.cabal view
@@ -1,20 +1,35 @@ Name:                Adaptive-Version:             0.22+Category:            Algorithms+Cabal-Version:       >= 1.6+Build-Type:          Simple+Version:             0.23+ Synopsis:            Library for incremental computing.-Description:         This is a Haskell (plus some extensions) implementation -		     of a library for incremental computing.  It closely -		     follows the implementation in the nice POPL 2002 paper -		     "Adaptive Functional Programming", by Umut Acar, -		     Guy Blelloch and Bob Harper.++Description:         This is a Haskell (plus some extensions) implementation+                     of a library for incremental computing.  It closely+                     follows the implementation in the nice POPL 2002 paper+                     "Adaptive Functional Programming", by Umut Acar,+                     Guy Blelloch and Bob Harper.+ License:             BSD3 License-file:        LICENSE Author:              Magnus Carlsson-Maintainer:          Magnus Carlsson <magnus@galois.com>-Build-Depends:       base, haskell98-Exposed-modules:     Control.Monad.Adaptive, Control.Monad.Adaptive.Ref,Control.Monad.Adaptive.PriorityQueue, Control.Monad.Adaptive.OrderedList, Control.Monad.Adaptive.CircularList, Control.Monad.Adaptive.MonadUtil-data-files:	     ChangeLog, README-build-type:	     Simple+Maintainer:          Magnus Carlsson <magnus@carlssonia.org> -Executable:          spreadsheet-Main-is:             spreadsheet.hs+Library+  Build-Depends:     base < 5 +  Exposed-modules:   Control.Monad.Adaptive,+                     Control.Monad.Adaptive.Ref,+                     Control.Monad.Adaptive.PriorityQueue,+                     Control.Monad.Adaptive.OrderedList,+                     Control.Monad.Adaptive.CircularList,+                     Control.Monad.Adaptive.MonadUtil++Executable           spreadsheet+  Main-is:           spreadsheet.hs++source-repository head+    type: git+    location: git://github.com/carlssonia/adaptive.git
− ChangeLog
@@ -1,12 +0,0 @@-2008-07-14    <pj@csee.ltu.se>--	* Version 0.22, adapted for Hugs 20060908 and ghc 6.8.2.--2005-07-09    <magnus@cse.ogi.edu>--	* Version 0.21, adapted for Hugs 20050308 and ghc 6.4, by-	Andrew Pimlott <andrew@pimlott.net>.--2002-03-18    <magnus@cse.ogi.edu>--	* Version 0.2, public release.
Control/Monad/Adaptive.hs view
@@ -22,7 +22,7 @@  ) where  import Prelude -import Monad(ap,unless)+import Control.Monad(ap,unless) import Control.Monad.Adaptive.MonadUtil import Control.Monad.Adaptive.Ref import qualified Control.Monad.Adaptive.OrderedList as OL
Control/Monad/Adaptive/OrderedList.hs view
@@ -27,7 +27,7 @@   record   ) where -import Monad(ap,unless)+import Control.Monad(ap,unless) import Control.Monad.Adaptive.MonadUtil import Control.Monad.Adaptive.Ref import Control.Monad.Adaptive.CircularList hiding (delete,insert,next,update)
Control/Monad/Adaptive/PriorityQueue.hs view
@@ -12,8 +12,8 @@  import Prelude hiding(min) -import qualified List(insert)-import Monad(ap)+import qualified Data.List(insert)+import Control.Monad(ap)  -- Export: empty   :: PriorityQueue a@@ -28,7 +28,7 @@  empty = PQ [] -insert a (PQ l) = PQ (List.insert a l)+insert a (PQ l) = PQ (Data.List.insert a l)   insertM cmp a (PQ l) = return PQ `ap` ins l
LICENSE view
@@ -1,4 +1,4 @@-Copyright 2002-2008 Magnus Carlsson <magnus@galois.com>+Copyright 2002-2008 Magnus Carlsson <magnus@carlssonia.org> All rights reserved.  Redistribution and use in source and binary forms, with or without
− README
@@ -1,46 +0,0 @@-Adaptive version 0.22 2008-07-14-================================--This is a minor update to Adaptive version 0.21 to make it work with-recent versions of GHC and Hugs. Adaptive is now cabalized, and any-problems with the packaging is my fault, not Magnus.--Peter A. Jonsson, pj@csee.ltu.se---Adaptive version 0.21  2005-07-09-=================================--This is a Haskell (plus some extensions) implementation of a library-for incremental computing.  It closely follows the implementation in-the nice POPL 2002 paper "Adaptive Functional Programming", by Umut-Acar, Guy Blelloch and Bob Harper.  As of writing, their paper can be-found at--      http://ttic.uchicago.edu/~umut/papers/popl02.html--However, this Haskell library provides a monadic interface, which-doesn't need the "write" operation or the "destination" type.  In-addition, the monadic types enforce correct usage, which means that a-modifiable variable must be defined before it can be used.  This is-achieved within Haskell's type system plus some popular extensions-(multi-parameter classes and functional dependencies).--The library is parameterised over any monad that has references (such-as IO and ST).  This means that it should be possible to put it on top-of e.g. many GUI monads too.--There is a small demo program of a classical incremental computation-problem: a spreadsheet.  Try it by typing--   runhugs -98 spreadsheet.hs--and type, say --  c0 <Return> Cell c1 <Return> c1 <Return> Const 42 <Return>.--This has been tested with the Hugs September 2006 version.--Feedback is welcome!--Magnus Carlsson, magnus@galois.com
spreadsheet.hs view
@@ -10,9 +10,10 @@ import Control.Monad.Adaptive import Data.Char import Control.Monad.Adaptive.Ref-import Monad(ap,when)+import Control.Monad(ap,when) import Data.IORef(IORef)-import System+import System.Exit+import System.IO(hFlush, stdout)  type InIO m a = m IO IORef a type IOMod a = InIO Modifiable a@@ -60,6 +61,7 @@ cleareol = esc "K"  readPrompt c s = do prAt 20 c 0 (s++"> "++ cleareol)+                    hFlush stdout                     s <- getLine                     when (s == "quit") $ exitWith ExitSuccess                     return s