packages feed

IOSpec 0.3.1 → 0.3.1.1

raw patch · 4 files changed

+52/−32 lines, 4 filesdep ~Streamdep ~mtlnew-uploaderPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependency ranges changed: Stream, mtl

API changes (from Hackage documentation)

+ Test.IOSpec: infixr 5 :+:
+ Test.IOSpec.Types: infixr 5 :+:
- Test.IOSpec: Inl :: (f x) -> (:+:) f g x
+ Test.IOSpec: Inl :: f x -> (:+:) f g x
- Test.IOSpec: Inr :: (g x) -> (:+:) f g x
+ Test.IOSpec: Inr :: g x -> (:+:) f g x
- Test.IOSpec: data ( f (:+:) g ) x
+ Test.IOSpec: data ( f :+: g ) x
- Test.IOSpec: inject :: (g :<: f) => g (IOSpec f a) -> IOSpec f a
+ Test.IOSpec: inject :: g :<: f => g (IOSpec f a) -> IOSpec f a
- Test.IOSpec.STM: atomically :: (STMS :<: f) => STM a -> IOSpec f a
+ Test.IOSpec.STM: atomically :: STMS :<: f => STM a -> IOSpec f a
- Test.IOSpec.Surrogate: data f (:+:) g
+ Test.IOSpec.Surrogate: data f :+: g
- Test.IOSpec.Teletype: getLine :: (Teletype :<: f) => IOSpec f String
+ Test.IOSpec.Teletype: getLine :: Teletype :<: f => IOSpec f String
- Test.IOSpec.Teletype: putChar :: (Teletype :<: f) => Char -> IOSpec f ()
+ Test.IOSpec.Teletype: putChar :: Teletype :<: f => Char -> IOSpec f ()
- Test.IOSpec.Teletype: putStr :: (Teletype :<: f) => String -> IOSpec f ()
+ Test.IOSpec.Teletype: putStr :: Teletype :<: f => String -> IOSpec f ()
- Test.IOSpec.Teletype: putStrLn :: (Teletype :<: f) => String -> IOSpec f ()
+ Test.IOSpec.Teletype: putStrLn :: Teletype :<: f => String -> IOSpec f ()
- Test.IOSpec.Types: Impure :: (f (IOSpec f a)) -> IOSpec f a
+ Test.IOSpec.Types: Impure :: f (IOSpec f a) -> IOSpec f a
- Test.IOSpec.Types: Inl :: (f x) -> (:+:) f g x
+ Test.IOSpec.Types: Inl :: f x -> (:+:) f g x
- Test.IOSpec.Types: Inr :: (g x) -> (:+:) f g x
+ Test.IOSpec.Types: Inr :: g x -> (:+:) f g x
- Test.IOSpec.Types: data ( f (:+:) g ) x
+ Test.IOSpec.Types: data ( f :+: g ) x
- Test.IOSpec.Types: inject :: (g :<: f) => g (IOSpec f a) -> IOSpec f a
+ Test.IOSpec.Types: inject :: g :<: f => g (IOSpec f a) -> IOSpec f a
- Test.IOSpec.VirtualMachine: Print :: Char -> (Effect a) -> Effect a
+ Test.IOSpec.VirtualMachine: Print :: Char -> Effect a -> Effect a

Files

IOSpec.cabal view
@@ -1,33 +1,41 @@ Name:            IOSpec-Version:         0.3.1+Version:         0.3.1.1 License:         BSD3 License-file:    LICENSE-Cabal-Version:    >= 1.2-Author:          Wouter Swierstra, Yusaku Hashimoto, Nikolay Amiantov-Maintainer:      Wouter Swierstra <w.s.swierstra@uu.nl>                        +Cabal-Version:   >= 1.6+Author:          Wouter Swierstra,+                 Yusaku Hashimoto,+                 Nikolay Amiantov,+                 Bertram Felgenhauer+Maintainer:      Bertram Felgenhauer <int-e@gmx.de>+Homepage:        https://github.com/lambdabot/IOSpec Synopsis:        A pure specification of the IO monad. Description:     This package consists of several modules, that give a                  pure specification of functions in the IO monad:-                   * "Test.IOSpec.Fork": a pure specification of-                      'forkIO'.-                   * "Test.IOSpec.IORef": a pure specification of most-                     functions that create and manipulate on 'IORefs'.-                   * "Test.IOSpec.MVar": a pure specification of most-                     functions that create and manipulate and 'MVars'.-                   * "Test.IOSpec.STM": a pure specification of-                     'atomically' and the 'STM' monad.-                   * "Test.IOSpec.Teletype": a pure specification of-                      'getChar', 'putChar', and several related-                      Prelude functions.+                 .+                 * "Test.IOSpec.Fork": a pure specification of+                   'forkIO'.+                 * "Test.IOSpec.IORef": a pure specification of most+                   functions that create and manipulate on 'IORefs'.+                 * "Test.IOSpec.MVar": a pure specification of most+                   functions that create and manipulate and 'MVars'.+                 * "Test.IOSpec.STM": a pure specification of+                   'atomically' and the 'STM' monad.+                 * "Test.IOSpec.Teletype": a pure specification of+                   'getChar', 'putChar', and several related+                   Prelude functions.+                 .                  Besides these modules containing the specifications,                  there are a few other important modules:-                    * "Test.IOSpec.Types": defines the 'IOSpec' type and-                      several amenities.-                    * "Test.IOSpec.VirtualMachine": defines a virtual-                      machine on which to execute pure specifications.-                    * "Test.IOSpec.Surrogate": a drop-in replacement for-                      the other modules. Import this and recompile your-                      code once you've finished testing and debugging.+                 .+                 * "Test.IOSpec.Types": defines the 'IOSpec' type and+                   several amenities.+                 * "Test.IOSpec.VirtualMachine": defines a virtual+                   machine on which to execute pure specifications.+                 * "Test.IOSpec.Surrogate": a drop-in replacement for+                   the other modules. Import this and recompile your+                   code once you've finished testing and debugging.+                 .                  There are several well-documented examples included                   with the source distribution. Category:        Testing@@ -38,8 +46,16 @@       , examples/Queues.hs       , examples/Refs.hs       , examples/Sudoku.hs-library                        -    Build-Depends:    base >= 4.8.0.0 && < 5, mtl, QuickCheck >= 2 && < 3, Stream++Source-Repository head+    Type:        git+    Location:    https://github.com/lambdabot/IOSpec++Library+    Build-Depends:    base >= 4.8.0.0 && < 5+      , mtl+      , QuickCheck >= 2 && < 3+      , Stream     Extensions:       MultiParamTypeClasses, OverlappingInstances     Ghc-options:      -Wall     Hs-source-dirs:   src
LICENSE view
@@ -1,4 +1,7 @@-Copyright Wouter Swierstra 2006.+Copyright Wouter Swierstra 2006-2009,2011,2012,2015,2018+Copyright Yusaku Hashimoto 2009+Copyright Nikolay Amiantov 2015+Copyright Bertram Felgenhauer 2018  All rights reserved. 
README view
@@ -1,5 +1,6 @@-IOSpec version 0.2-  Author: Wouter Swierstra <wss@cs.nott.ac.uk>+IOSpec version 0.3.1.1+  Author: Wouter Swierstra <w.s.swierstra@uu.nl>+  Maintainer: Bertram Felgenhauer <int-e@gmx.de>  IOSpec provides a library containing pure, executable specifications of a few functions from the IO monad. @@ -10,18 +11,18 @@     $ runhaskell Setup.lhs build     $ runhaskell Setup.lhs install -See http://www.haskell.org/ghc/docs/latest/html/Cabal/builders.html-for more instructions.+For further instructions, see:+    https://www.haskell.org/cabal/users-guide/installing-packages.html#building-and-installing-packages  Documentation:  Please have a look at the latest documentation available from:-  http://www.cs.nott.ac.uk/~wss/repos/IOSpec+    https://hackage.haskell.org/package/IOSpec  To build the Haddock API execute the following command:     $ runhaskell Setup.lhs haddock -This will require Haddock 2.0+This will require Haddock 2.0.  Check out the examples directory for the following examples: 
src/Test/IOSpec/Types.hs view
@@ -2,7 +2,7 @@ -- | This module contains the basic data types underlying the -- 'IOSpec' library. Most of the types and classes in this module -- are described in--- <http://www.cs.nott.ac.uk/~wss/Publications/DataTypesALaCarte.pdf>.+-- <https://www.cs.ru.nl/~W.Swierstra/Publications/DataTypesALaCarte.pdf> module Test.IOSpec.Types   (   -- * The 'IOSpec' type.