packages feed

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