This is an overview of the way this library works. If you would like to learn how Squeal itself works you should head to the morphismtech/squeal repository.
There are two sepaeate effects with corresponding carriers: Squeal
(with SquealC
) and SquealPool
(with SquealPoolC
).
Squeal
mimics the functions from MonadPQ
(from squeal-postgresql
) and represnts the "inside a transaction" effect.
You can run it directly with runSquealWithConn
family of functions, but you probably want to use a connection pool.
SquealPool
allows you to call runSqueal
function, which picks a connection from the connection pool and runs the Squeal
effect.