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 +28/−13
- ChangeLog +0/−12
- Control/Monad/Adaptive.hs +1/−1
- Control/Monad/Adaptive/OrderedList.hs +1/−1
- Control/Monad/Adaptive/PriorityQueue.hs +3/−3
- LICENSE +1/−1
- README +0/−46
- spreadsheet.hs +4/−2
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