hmssql
Safe HaskellNone
LanguageHaskell2010

Hmssql.Tds.Parser.OutOfLine

Description

The recipe operations of Hmssql.Tds.Parser as calls, for recipes that run once per token, per request or per connection, such as a token's header or the login acknowledgement. Use it with QualifiedDo:

import qualified Hmssql.Tds.Parser.OutOfLine as O

readDone = O.do
  status <- O.word16le
  ...

The Monad instance of Recipe and the primitive reads are INLINE, because a row's cells go through them, and each inlined bind carries its three outcomes and the resumption; written with these, a bind or a read is a call. The recipe reads the same bytes either way. Keep them off the paths that run per row, per cell or per byte.

Documentation

(>>=) :: Recipe env a -> (a -> Recipe env b) -> Recipe env b infixl 1 Source #

(>>) :: Recipe env a -> Recipe env b -> Recipe env b infixl 1 Source #

(*>) :: Recipe env a -> Recipe env b -> Recipe env b infixl 4 Source #

(<$>) :: (a -> b) -> Recipe env a -> Recipe env b infixl 4 Source #

(<*>) :: Recipe env (a -> b) -> Recipe env a -> Recipe env b infixl 4 Source #

(<$) :: a -> Recipe env b -> Recipe env a infixl 4 Source #

pure :: a -> Recipe env a Source #

return :: a -> Recipe env a Source #

fail :: String -> Recipe env a Source #