| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Siphon
- 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 #
Instances
Constructors
| Indexed | |
Fields
| |
Arguments
| :: 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.