cassava-streams 0.1.1.0 → 0.2.0.0
raw patch · 10 files changed
+66/−27 lines, 10 filesdep ~basedep ~io-streamsdep ~vectorPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: base, io-streams, vector
API changes (from Hackage documentation)
- System.IO.Streams.Csv.Tutorial: instance Eq Item
- System.IO.Streams.Csv.Tutorial: instance Eq TState
- System.IO.Streams.Csv.Tutorial: instance FromField TState
- System.IO.Streams.Csv.Tutorial: instance FromNamedRecord Item
- System.IO.Streams.Csv.Tutorial: instance Show Item
- System.IO.Streams.Csv.Tutorial: instance Show TState
- System.IO.Streams.Csv.Tutorial: instance ToField TState
- System.IO.Streams.Csv.Tutorial: instance ToNamedRecord Item
- System.IO.Streams.Csv.Tutorial: state :: Item -> TState
- System.IO.Streams.Csv.Tutorial: time :: Item -> Maybe Double
- System.IO.Streams.Csv.Tutorial: title :: Item -> String
+ System.IO.Streams.Csv.Tutorial: [state] :: Item -> TState
+ System.IO.Streams.Csv.Tutorial: [time] :: Item -> Maybe Double
+ System.IO.Streams.Csv.Tutorial: [title] :: Item -> String
+ System.IO.Streams.Csv.Tutorial: instance Data.Csv.Conversion.FromField System.IO.Streams.Csv.Tutorial.TState
+ System.IO.Streams.Csv.Tutorial: instance Data.Csv.Conversion.FromNamedRecord System.IO.Streams.Csv.Tutorial.Item
+ System.IO.Streams.Csv.Tutorial: instance Data.Csv.Conversion.ToField System.IO.Streams.Csv.Tutorial.TState
+ System.IO.Streams.Csv.Tutorial: instance Data.Csv.Conversion.ToNamedRecord System.IO.Streams.Csv.Tutorial.Item
+ System.IO.Streams.Csv.Tutorial: instance GHC.Classes.Eq System.IO.Streams.Csv.Tutorial.Item
+ System.IO.Streams.Csv.Tutorial: instance GHC.Classes.Eq System.IO.Streams.Csv.Tutorial.TState
+ System.IO.Streams.Csv.Tutorial: instance GHC.Show.Show System.IO.Streams.Csv.Tutorial.Item
+ System.IO.Streams.Csv.Tutorial: instance GHC.Show.Show System.IO.Streams.Csv.Tutorial.TState
- System.IO.Streams.Csv: decodeStream :: FromRecord a => HasHeader -> InputStream ByteString -> IO (InputStream (Either String a))
+ System.IO.Streams.Csv: decodeStream :: (FromRecord a) => HasHeader -> InputStream ByteString -> IO (InputStream (Either String a))
- System.IO.Streams.Csv: decodeStreamByName :: FromNamedRecord a => InputStream ByteString -> IO (InputStream (Either String a))
+ System.IO.Streams.Csv: decodeStreamByName :: (FromNamedRecord a) => InputStream ByteString -> IO (InputStream (Either String a))
- System.IO.Streams.Csv: decodeStreamByNameWith :: FromNamedRecord a => DecodeOptions -> InputStream ByteString -> IO (InputStream (Either String a))
+ System.IO.Streams.Csv: decodeStreamByNameWith :: (FromNamedRecord a) => DecodeOptions -> InputStream ByteString -> IO (InputStream (Either String a))
- System.IO.Streams.Csv: decodeStreamWith :: FromRecord a => DecodeOptions -> HasHeader -> InputStream ByteString -> IO (InputStream (Either String a))
+ System.IO.Streams.Csv: decodeStreamWith :: (FromRecord a) => DecodeOptions -> HasHeader -> InputStream ByteString -> IO (InputStream (Either String a))
Files
- CHANGELOG +0/−8
- CHANGES.md +15/−0
- LICENSE +1/−1
- build/nixpkgs.nix +13/−0
- build/stack.yaml +9/−0
- cassava-streams.cabal +23/−13
- src/System/IO/Streams/Csv/Encode.hs +1/−1
- src/System/IO/Streams/Csv/Tutorial.hs +0/−1
- test/header.csv +1/−0
- test/test.hs +3/−3
− CHANGELOG
@@ -1,8 +0,0 @@-2014-11-11 Peter Jones <pjones@devalot.com>-- * System/IO/Streams/Csv/Decode.hs added more descriptive error messages.- * cassava-streams bumped version number (0.1.1.0).--2014-04-30 Peter Jones <pjones@devalot.com>-- * cassava-streams initial release (version 0.1.0.0).
+ CHANGES.md view
@@ -0,0 +1,15 @@+# Change Log / Release Notes++## 0.2.0.0 (February 8, 2016)++ * Compile with GHC 7.10.3+ * Update dependency versions+ * Build with stack and LTS Haskell 5.2++## 0.1.1.0 (November 11, 2014)++ * `System/IO/Streams/Csv/Decode.hs` added more descriptive error messages.++## 0.1.0.0 (April 30, 2014)++ * cassava-streams initial release
LICENSE view
@@ -1,4 +1,4 @@-Copyright (c) 2014 Peter Jones <pjones@devalot.com>+Copyright (c) 2014-2016 Peter Jones <pjones@devalot.com> All rights reserved.
+ build/nixpkgs.nix view
@@ -0,0 +1,13 @@+with (import <nixpkgs> {});++stdenv.mkDerivation {+ name = "cassava-streams";++ buildInputs = [+ # GHC:+ haskell.packages.lts-4_2.ghc++ # Non-Haskell Dependencies:+ zlib+ ];+}
+ build/stack.yaml view
@@ -0,0 +1,9 @@+resolver: lts-5.2++packages:+ - ../++flags:+ cassava-streams:+ maintainer: true+ tutorial: true
cassava-streams.cabal view
@@ -1,16 +1,16 @@ -------------------------------------------------------------------------------- name: cassava-streams-version: 0.1.1.0+version: 0.2.0.0 synopsis: io-streams interface for the cassava CSV library. license: BSD3 license-file: LICENSE author: Peter Jones <pjones@devalot.com> maintainer: Peter Jones <pjones@devalot.com>-copyright: Copyright (c) 2014 Peter Jones+copyright: Copyright (c) 2014-2016 Peter Jones category: Data, Text, CSV, IO-Streams build-type: Simple-cabal-version: >=1.10-tested-with: GHC==7.8.2, GHC==7.8.3+cabal-version: >=1.18+tested-with: GHC==7.10.3 homepage: https://github.com/pjones/cassava-streams bug-reports: https://github.com/pjones/cassava-streams/issues description:@@ -22,8 +22,10 @@ -------------------------------------------------------------------------------- extra-source-files: README.md- CHANGELOG- test/simple.csv+ CHANGES.md+ test/*.csv+ build/*.yaml+ build/*.nix -------------------------------------------------------------------------------- source-repository head@@ -39,6 +41,7 @@ -------------------------------------------------------------------------------- flag tutorial description: Build the tutorial binary (useful for profiling).+ manual: True default: False --------------------------------------------------------------------------------@@ -52,26 +55,29 @@ hs-source-dirs: src default-language: Haskell2010- ghc-options: -O2 -Wall -fwarn-incomplete-uni-patterns- ghc-prof-options: -prof -auto-all+ ghc-options: -Wall -fwarn-incomplete-uni-patterns if flag(maintainer) ghc-options: -Werror+ ghc-prof-options: -prof -auto-all build-depends: base >= 4.6 && < 5.0 , bytestring >= 0.10 && < 0.11 , cassava >= 0.4 && < 0.5- , io-streams >= 1.1 && < 1.2- , vector >= 0.10 && < 0.11+ , io-streams >= 1.1 && < 1.4+ , vector >= 0.10 && < 0.12 -------------------------------------------------------------------------------- executable tutorial default-language: Haskell2010 hs-source-dirs: bin main-is: tutorial.hs- ghc-options: -O2 -Wall -Werror -rtsopts- ghc-prof-options: -fprof-auto-top -fprof-cafs+ ghc-options: -Wall -fwarn-incomplete-uni-patterns -rtsopts + if flag(maintainer)+ ghc-options: -Werror+ ghc-prof-options: -fprof-auto-top -fprof-cafs+ if !flag(tutorial) buildable: False else@@ -85,7 +91,11 @@ default-language: Haskell2010 hs-source-dirs: test main-is: test.hs- ghc-options: -O2 -Wall -Werror+ ghc-options: -Wall -fwarn-incomplete-uni-patterns++ if flag(maintainer)+ ghc-options: -Werror+ build-depends: base , QuickCheck >= 2.7 && < 3.0 , bytestring
src/System/IO/Streams/Csv/Encode.hs view
@@ -75,7 +75,7 @@ -> IO (OutputStream a) -- ^ New @OutputStream@. encodeStreamByNameWith opts hdr output = do ref <- newIORef opts- makeOutputStream $ dispatch (\opts' -> encodeByNameWith opts' hdr) ref output+ makeOutputStream $ dispatch (`encodeByNameWith` hdr) ref output -------------------------------------------------------------------------------- -- | Encode records, ensuring that the header is written no more than once.
src/System/IO/Streams/Csv/Tutorial.hs view
@@ -30,7 +30,6 @@ ) where ---------------------------------------------------------------------------------import Control.Applicative import Control.Monad import Data.Csv import qualified Data.Vector as V
+ test/header.csv view
@@ -0,0 +1,1 @@+State,Time,Title
test/test.hs view
@@ -19,7 +19,7 @@ import Control.Monad import Data.ByteString (ByteString) import qualified Data.ByteString as BS-import Data.Csv hiding (Record, NamedRecord, record)+import Data.Csv hiding (Record, NamedRecord, record, header) import qualified Data.Vector as V import System.IO.Streams (InputStream, OutputStream) import qualified System.IO.Streams as Streams@@ -96,8 +96,8 @@ -------------------------------------------------------------------------------- tests :: TestTree tests = testGroup "Tests"- [ QC.testProperty "namedRoundTrip" $ prop_namedRoundTrip- , QC.testProperty "indexedRoundTrip" $ prop_indexedRoundTrip+ [ QC.testProperty "namedRoundTrip" prop_namedRoundTrip+ , QC.testProperty "indexedRoundTrip" prop_indexedRoundTrip ] --------------------------------------------------------------------------------