Add the following incantation to cabal.project
while this isn't on hackage/for using HEAD
source-repository-package
type: git
location: https://github.com/alt-romes/cob-hs.git
-- for cob-ui
source-repository-package
type: git
location: https://github.com/alt-romes/cob-hs.git
subdir: cob-ui
We provide
-
A way (TH) to automatically derive instances of
Record
for your native Haskell datatypes, s.t. you can insert and queryRecordM
using your own Haskell idiomatic datatypes -- conversions to theRecordM
format are done automatically behind the scenes. -
A way to construct RecordM queries which takes care of some usual details by reflecting on the types.
-
Two interfaces to Cob:
- One based on simple
mtl
constraints:- With support for RecordM (
Cob.RecordM
) - And UserM (
Cob.UserM
)
- With support for RecordM (
- And another, a
Cob
free monad, which is basically a Cob DSL. It features:- An interpreter,
runCob
, which is implemented in terms of the first interface, and will run the DSL programs in the Cob instance specified by theCobSession
- And a /mock interpreter/,
mockCob
, which is also implemented in terms of the first interface, and also runs the same DSL programs on the specified Cob instance -- but, afterwards, deletes all records and userm instances created.
- An interpreter,
- One based on simple
-
Examples! See the
examples
directory.