plot-light-0.1.0.0: src/Graphics/Rendering/Plot/Light/IO/Text.hs
module Graphics.Rendering.Plot.Light.IO.Text where
import Data.Text
import qualified Data.Attoparsec.Text as A
import qualified Data.Attoparsec.Internal.Types as AP (Parser)
import Data.Scientific
-- row = many' decimal
space, comma :: A.Parser Char
space = A.char ' '
comma = A.char ','
-- rowNums :: A.Parser Scientific
rowNums :: AP.Parser Text s -> AP.Parser Text [Scientific]
rowNums = A.sepBy A.scientific
rowNumSpace :: AP.Parser Text [Scientific]
rowNumSpace = rowNums space
-- | parse a grid of numbers, separated by `sep`
gridNum :: AP.Parser Text s -> AP.Parser Text [[Scientific]]
gridNum sep = A.sepBy (rowNums sep) A.endOfLine