matrix-market-attoparsec: Attoparsec parsers for the NIST Matrix Market format

[ bsd2, library, parsers ] [ Propose Tags ]

Please see README.md


[Skip to Readme]

Modules

[Index]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.1.0.0, 0.1.0.1, 0.1.0.2, 0.1.0.3, 0.1.0.4, 0.1.0.5, 0.1.0.6, 0.1.0.7, 0.1.0.8, 0.1.0.9, 0.1.1.0, 0.1.1.1, 0.1.1.2, 0.1.1.3
Dependencies attoparsec (>=0.10), base (>=4.7 && <5), bytestring (>=0.9), exceptions, scientific (>=0.3.4.9) [details]
License BSD-3-Clause
Copyright 2017 Marco Zocca
Author Marco Zocca
Maintainer zocca marco gmail
Category Parsers
Home page https://github.com/ocramz/matrix-market-attoparsec
Source repo head: git clone https://github.com/ocramz/matrix-market-attoparsec
Uploaded by ocramz at 2017-02-15T22:47:52Z
Distributions LTSHaskell:0.1.1.3, NixOS:0.1.1.3, Stackage:0.1.1.3
Reverse Dependencies 3 direct, 0 indirect [details]
Downloads 7172 total (42 in the last 30 days)
Rating 2.0 (votes: 1) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2017-02-15 [all 1 reports]

Readme for matrix-market-attoparsec-0.1.0.1

[back to package description]

matrix-market-attoparsec

Build Status

Attoparsec parser for the NIST Matrix Market format [1].

The library also contains functions for serializing to text file, and the read/write/read roundtrip works as expected.

User guide

The module Data.Matrix.MatrixMarket exports the user interface:

readMatrix :: FilePath -> IO (Matrix S.Scientific)

readArray :: FilePath -> IO (Array S.Scientific)

writeMatrix :: Show a => FilePath -> Matrix a -> IO ()

writeArray :: Show a => FilePath -> Array a -> IO ()  

The first two functions contain the parsing logic, and make use of scientific for parsing numerical data in scientific notation.

test/LibSpec.hs contains a simple read/write/read sanity test:

m0 <- readMatrix fname   -- load original
writeMatrix ftemp m0     -- save as temp
m1 <- readMatrix ftemp   -- load temp
m0 `shouldBe` m1         -- compare temp with original

References

[1] http://math.nist.gov/MatrixMarket/