packages feed

ron-rdt-0.6: ron-rdt.cabal

cabal-version:  2.2

name:           ron-rdt
version:        0.6

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:       Replicated Data Types (RON-RDT)

description:
    Replicated Object Notation (RON), data types (RDT), and RON-Schema
    .
    Typical usage:
    .
    > import RON.Data
    > import RON.Schema.TH
    > import RON.Storage.FS 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
        containers,
        Diff,
        hashable,
        mtl,
        text,
        time,
        transformers,
        unordered-containers,
        -- project
        ron
    exposed-modules:
        RON.Data
        RON.Data.LWW
        RON.Data.ORSet
        RON.Data.RGA
        RON.Data.Time
        RON.Data.VersionVector
    other-modules:
        RON.Data.Internal
    hs-source-dirs: lib