Copyright | (C) CSIRO 2017-2019 |
---|---|
License | BSD3 |
Maintainer | George Wilson <george.wilson@data61.csiro.au> |
Stability | experimental |
Portability | non-portable |
Safe Haskell | None |
Language | Haskell2010 |
This module contains data structures, combinators, and primitives for decoding a CSV into a list of your Haskell datatype.
A file can be read with parseDecodeFromFile
. If you already have the text
data in memory, it can be decoded with parseDecode
.
You will need a Decode
for your desired type.
A Decode
can be built using the primitives in this file. Decode
is an Applicative
and an Alt
, allowing for composition
of these values with <*>
and <!>
The primitive Decode
s in this file which use ByteString
expect UTF-8
encoding. The Decode type has an instance of Profunctor
,
so you can lmap
or alterInput
to reencode on the way in.
This module is intended to be imported qualified like so
import qualified Data.Sv.Decode as D
Documentation
module Data.Sv.Decode.Core