Safe Haskell | None |
---|---|
Language | Haskell2010 |
- data Siphon f c a
- data SiphonError
- newtype Indexed a = Indexed {
- indexedIndex :: Int
- decodeHeadedUtf8Csv :: Monad m => Siphon Headed ByteString a -> Stream (Of ByteString) m () -> Stream (Of a) m (Maybe SiphonError)
- encodeHeadedUtf8Csv :: Monad m => Colonnade Headed a ByteString -> Stream (Of a) m r -> Stream (Of ByteString) m r
- humanizeSiphonError :: SiphonError -> String
- headed :: c -> (c -> Maybe a) -> Siphon Headed c a
- headless :: (c -> Maybe a) -> Siphon Headless c a
- indexed :: Int -> (c -> Maybe a) -> Siphon Indexed c a
Documentation
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.
data SiphonError Source #
:: Monad m | |
=> Siphon Headed ByteString a | |
-> Stream (Of ByteString) m () | encoded csv |
-> Stream (Of a) m (Maybe SiphonError) |
encodeHeadedUtf8Csv :: Monad m => Colonnade Headed a ByteString -> Stream (Of a) m r -> Stream (Of ByteString) m r Source #
humanizeSiphonError :: SiphonError -> String Source #
This adds one to the index because text editors consider line number to be one-based, not zero-based.