ruin-0.1.0.1: ruin.cabal
name: ruin
version: 0.1.0.1
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
source-repository head
type: git
location: https://github.com/nfrisby/ruin.git
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.1 && <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