name: ruin version: 0.1.0.0 cabal-version: >=1.10 build-type: Simple license: BSD3 license-file: LICENSE copyright: 2016 Nicolas Frisby maintainer: nicolas.frisby@gmail.com synopsis: Pliable records description: @ruin@ is a DSL for working with record types. It focuses on converting between conventionally-declared record types and supporting named function arguments. . * Uses @-XOverloadedLabels@, so that @#x@ is a first-class label for the field named @x@. * Provides @GHC.Generics@ defaults. * Named arguments: @\\[rna|x y z] -> (x,y,z)@ inhabits @("x" :\@ a,"y" :\@ b,"z" :\@ c) -> (a,b,c)@. * Relies on @-XDuplicateRecordFields@; the generic defaults only work if record selector names do not have distinguishing prefices. * Custom type errors, such as @ruin: Could not find the field \`x\' in the type ...@ * "Data.Ruin.R" provides anonymous record types where the order of fields is irrelevant. . See the "Data.Ruin" module for an overview. category: Data, Records author: Nicolas Frisby flag werror description: Enable -Werror default: False manual: True library if flag(werror) ghc-options: -Werror exposed-modules: Data.Ruin Data.Ruin.Ancillaries Data.Ruin.ClosedHas Data.Ruin.Core Data.Ruin.Deep Data.Ruin.Eval Data.Ruin.R build-depends: base >=4.9 && <=5, binary >=0.8.3.0 && <0.9, cereal >=0.5.2.0 && <0.6, deepseq >=1.4.2.0 && <1.5, ghc-prim >=0.5.0.0 && <0.6, parsec >=3.1.11 && <3.2, template-haskell >=2.11.0.0 && <2.12, unordered-containers >=0.2.7.1 && <0.3 default-language: Haskell2010 other-modules: Data.Ruin.All Data.Ruin.Fieldwise Data.Ruin.Hide Data.Ruin.Hoid Data.Ruin.Internal Data.Ruin.QQ Data.Ruin.QQ.Parser Data.Ruin.TH ghc-options: -Wall test-suite test if flag(werror) ghc-options: -Werror type: exitcode-stdio-1.0 main-is: Test.hs build-depends: base >=4.9.0.0 && <4.10, ruin >=0.1.0.0 && <0.2, hspec >=2.2.3 && <2.3, lens ==4.14.*, mtl >=2.2.1 && <2.3, optparse-applicative >=0.12.1.0 && <0.13, should-not-typecheck >=2.1.0 && <2.2, smallcheck >=1.1.1 && <1.2, template-haskell >=2.11.0.0 && <2.12 default-language: Haskell2010 hs-source-dirs: test other-modules: MustCompile.ClosedHas MustCompile.HRDatabase MustCompile.Physics MustCompile.PrintAndTime MustCompile.RNA MustCompile.RSplat MustCompile.RSplit MustCompile.TH MustNotCompile StrictCheck Strictness StrictnessTypes Test.R Test.RNA XY ghc-options: -Wall