duckdb-simple-0.1.1.1: Haskell FFI bindings for DuckDB
Safe HaskellSafe-Inferred
LanguageHaskell2010

Database.DuckDB.Simple.Ok

Description

The Ok type mirrors the helper used by sqlite-simple: it behaves like an `Either [SomeException]` with sensible Alternative semantics that accumulate failure reasons instead of discarding them. This underpins the RowParser machinery in FromRow.

Synopsis

Documentation

data Ok a Source #

Simple success-or-errors container with error accumulation.

Constructors

Errors [SomeException] 
Ok !a 

Instances

Instances details
MonadFail Ok Source # 
Instance details

Defined in Database.DuckDB.Simple.Ok

Methods

fail :: String -> Ok a #

Alternative Ok Source # 
Instance details

Defined in Database.DuckDB.Simple.Ok

Methods

empty :: Ok a #

(<|>) :: Ok a -> Ok a -> Ok a #

some :: Ok a -> Ok [a] #

many :: Ok a -> Ok [a] #

Applicative Ok Source # 
Instance details

Defined in Database.DuckDB.Simple.Ok

Methods

pure :: a -> Ok a #

(<*>) :: Ok (a -> b) -> Ok a -> Ok b #

liftA2 :: (a -> b -> c) -> Ok a -> Ok b -> Ok c #

(*>) :: Ok a -> Ok b -> Ok b #

(<*) :: Ok a -> Ok b -> Ok a #

Functor Ok Source # 
Instance details

Defined in Database.DuckDB.Simple.Ok

Methods

fmap :: (a -> b) -> Ok a -> Ok b #

(<$) :: a -> Ok b -> Ok a #

Monad Ok Source # 
Instance details

Defined in Database.DuckDB.Simple.Ok

Methods

(>>=) :: Ok a -> (a -> Ok b) -> Ok b #

(>>) :: Ok a -> Ok b -> Ok b #

return :: a -> Ok a #

MonadPlus Ok Source # 
Instance details

Defined in Database.DuckDB.Simple.Ok

Methods

mzero :: Ok a #

mplus :: Ok a -> Ok a -> Ok a #

Show a => Show (Ok a) Source # 
Instance details

Defined in Database.DuckDB.Simple.Ok

Methods

showsPrec :: Int -> Ok a -> ShowS #

show :: Ok a -> String #

showList :: [Ok a] -> ShowS #

Eq a => Eq (Ok a) Source #

Two failures are considered equal regardless of their payload.

Instance details

Defined in Database.DuckDB.Simple.Ok

Methods

(==) :: Ok a -> Ok a -> Bool #

(/=) :: Ok a -> Ok a -> Bool #

newtype ManyErrors Source #

Bundle multiple underlying exceptions into a single throwable value.

Constructors

ManyErrors [SomeException]