Îõ³h$  5      !"#$%&'()*+,-./01234None'(5Î0siphonÊThis just actually a specialization of the free applicative. Check out Control.Applicative.Free in the free¯ library to learn more about this. The meanings of the fields are documented slightly more in the source code. Unfortunately, haddock does not play nicely with GADTs.siphon.Error occurred parsing the document into cellssiphonError decoding the contentsiphon Wrong number of cells in the rowsiphonÒThree parts: (a) Multiple header cells matched the same expected cell, (b) Headers that were missing, (c) Missing headers that were lambdas. They cannot be shown so instead their positions in the  are given.siphon,Not enough cells in header, expected, actual siphon-Error decoding unicode content, column number   None5ÔÙ Ú(siphonStreaming variant of )Š. This is particularly useful when you need to produce millions of rows without having them all loaded into memory at the same time.)siphon'Encode a collection to a CSV as a text 5Ê. For example, we can take the following columnar encoding of a person::{-let colPerson :: Colonnade Headed Person Text colPerson = mconcat [ C.headed "Name" name, , C.headed "Age" (T.pack . show . age)6 , C.headed "Company" (fromMaybe "N/A" . company) ]:}ÅAnd we have the following people whom we wish to encode in this way::{let people :: [Person] people =0 [ Person "Chao" 26 (Just "Tectonic, Inc.")5 , Person "Elsie" 41 (Just "Globex Corporation")$ , Person "Arabella" 19 Nothing ]:}0We pair the encoding with the rows to get a CSV:8LTIO.putStr (TB.toLazyText (encodeCsv colPerson people))Name,Age,CompanyChao,26,"Tectonic, Inc."Elsie,41,Globex CorporationArabella,19,N/A*siphon-Encode a collection to a CSV as a bytestring 6.+siphonèThis adds one to the index because text editors consider line number to be one-based, not zero-based.,siphon(Uses the argument to parse a CSV column.-siphonéUses the second argument to parse a CSV column whose header content matches the first column exactly..siphonîUses the second argument to parse a CSV column that is positioned at the index given by the first argument.&siphon encoded csv)siphonTablular encodingsiphonValue of each row*siphonTablular encodingsiphonValue of each row &'()*+,-.)(*'&-,. +7       !"#$%&'()*+,-./01234567869%siphon-0.8.1.2-CHidbMs5qloGElW4sCEyLY Siphon.TypesSiphon SiphonPureSiphonApRowError RowErrorParseRowErrorDecode RowErrorSizeRowErrorHeadersRowErrorHeaderSizeRowErrorMalformed SiphonErrorsiphonErrorRowsiphonErrorCauseIndexed indexedIndex CellErrorcellErrorColumncellErrorContent$fExceptionSiphonError$fApplicativeSiphon$fFunctorSiphon$fShowSiphonError$fReadSiphonError$fEqSiphonError$fShowRowError$fReadRowError $fEqRowError $fEqIndexed $fOrdIndexed$fFunctorIndexed $fShowIndexed $fReadIndexed$fShowCellError$fReadCellError $fEqCellError decodeCsvUtf8encodeCsvStreamUtf8encodeCsvStream encodeCsv encodeCsvUtf8humanizeSiphonErrorheadlessheadedindexed$fMonoidHeaderErrors$fSemigroupHeaderErrors$fApplicativeEitherWrap$fFunctorEitherWrap$fShowCellResult $fShowEnded text-1.2.3.2Data.Text.Internal.BuilderBuilderbytestring-0.10.10.0 Data.ByteString.Builder.Internal