ron-schema-0.5: ron-schema.cabal
cabal-version: 2.2
name: ron-schema
version: 0.5
bug-reports: https://github.com/ff-notes/ron/issues
category: Distributed Systems, Protocol, Database
copyright: 2018-2019 Yuriy Syrovetskiy
homepage: https://github.com/ff-notes/ron
license: BSD-3-Clause
license-file: LICENSE
maintainer: Yuriy Syrovetskiy <haskell@cblp.su>
synopsis: RON-Schema
description:
Replicated Object Notation (RON), data types (RDT), and RON-Schema
.
Typical usage:
.
> import RON.Data
> import RON.Schema.TH
> import RON.Storage.IO as Storage
>
> [mkReplicated|
> (struct_lww Note
> active Boole
> text RgaString)
> |]
>
> instance Collection Note where
> collectionName = "note"
>
> main :: IO ()
> main = do
> let dataDir = "./data/"
> h <- Storage.newHandle dataDir
> runStorage h $ do
> obj <- newObject
> Note{active = True, text = "Write a task manager"}
> createDocument obj
build-type: Simple
common language
build-depends: base >= 4.10 && < 4.13, integer-gmp
default-extensions: MonadFailDesugaring StrictData
default-language: Haskell2010
hs-source-dirs: prelude
other-modules: Prelude
library
import: language
build-depends:
-- global
bytestring,
containers,
hedn >= 0.2 && < 0.3,
megaparsec,
mtl,
template-haskell,
text,
transformers,
-- project
ron,
ron-rdt
exposed-modules:
RON.Schema
RON.Schema.TH
other-modules:
Data.EDN.Extra
RON.Schema.EDN
hs-source-dirs: lib