name: overloaded-records
version: 0.4.1.0
synopsis: Overloaded Records based on current GHC proposal.
description:
Implementation of /Overloaded Record Fields/ based on current GHC proposal.
It is built on top of functionality that is included in GHC 8.0.1, but it
works on older GHC versions as well. Most importantly, this library provides
Template Haskell functions for automatic deriving of instancess for
@HasField@ and @ModifyField@ type classes. With these instances overloaded
fields can be used directly as getters and lenses.
.
See README for usage examples.
.
This implementation is highly experimental and may change rapidly.
.
More about the current status of OverloadedRecordFields language extension
can be found on:
<https://ghc.haskell.org/trac/ghc/wiki/Records/OverloadedRecordFields GHC Wiki: OverloadedRecordFields>.
homepage: https://github.com/trskop/overloaded-records
bug-reports: https://github.com/trskop/overloaded-records/issues
license: BSD3
license-file: LICENSE
author: Peter Trško
maintainer: peter.trsko@gmail.com
copyright: (c) 2016, Peter Trško
category: Data
build-type: Simple
cabal-version: >=1.10
extra-source-files:
ChangeLog.md
, README.md
flag pedantic
description: Pass additional warning flags to GHC.
default: False
manual: True
library
hs-source-dirs: src
exposed-modules:
Data.OverloadedLabels
, Data.OverloadedLabels.TH
, Data.OverloadedRecords
, Data.OverloadedRecords.TH
, Data.OverloadedRecords.TH.Internal
-- other-modules:
default-language: Haskell2010
other-extensions:
ConstraintKinds
, CPP
, DataKinds
, DeriveDataTypeable
, DeriveGeneric
, ExplicitForAll
, FlexibleContexts
, FlexibleInstances
, FunctionalDependencies
, KindSignatures
, LambdaCase
, MagicHash
, MultiParamTypeClasses
, NoImplicitPrelude
, RecordWildCards
, TemplateHaskell
, TupleSections
, TypeFamilies
, UndecidableInstances
build-depends:
base >=4.7 && <5
, data-default-class ==0.0.*
, template-haskell >=2.9 && <2.12
if impl(ghc >=8.0)
cpp-options:
-DHAVE_MONAD_FAIL
-DHAVE_OVERLOADED_LABELS
-- -DHAVE_TYPE_FAMILY_DEPENDENCIES
ghc-options: -Wall
if flag(pedantic)
ghc-options:
-fwarn-tabs
-fwarn-implicit-prelude
-- -Werror
test-suite unit-tests
hs-source-dirs: src, test
type: exitcode-stdio-1.0
main-is: unit-tests.hs
other-modules:
Data.OverloadedLabels
, Data.OverloadedLabels.TH
, Data.OverloadedRecords
, Data.OverloadedRecords.TH
, Data.OverloadedRecords.TH.Internal
, TestCase
, TestCase.Data.OverloadedRecords
default-language: Haskell2010
other-extensions:
CPP
, DataKinds
, DeriveDataTypeable
, DeriveGeneric
, ExplicitForAll
, FlexibleContexts
, FlexibleInstances
, FunctionalDependencies
, KindSignatures
, LambdaCase
, MagicHash
, MultiParamTypeClasses
, NoImplicitPrelude
, RecordWildCards
, TemplateHaskell
, TupleSections
, TypeFamilies
, UndecidableInstances
build-depends:
base >=4.7 && <5
, data-default-class ==0.0.*
, template-haskell >=2.9 && <2.12
-- {{{ Test-suite dependencies --------------------------------------------
, HUnit >=1.2 && <2
-- ^ Same constraints as test-framework-hunit
-- ^ Same constraints as test-framework-quickcheck2==0.3.0.3.
, test-framework >=0.8 && <1
-- ^ Same constraint as test-framework-skip, other packages that
-- depend on it have less restrictive bounds.
, test-framework-hunit >=0.2.6 && <1
-- ^ Lower versions have more restrictive bounds on test-framework.
-- }}} Test-suite dependencies --------------------------------------------
, overloaded-records
if impl(ghc <7.10)
-- Identity functor is available in base bundled with GHC >=7.10, for older
-- we need to get it elsewhere.
build-depends:
transformers >=0.2
if impl(ghc >=8.0)
cpp-options:
-DHAVE_MONAD_FAIL
-DHAVE_OVERLOADED_LABELS
-- -DHAVE_TYPE_FAMILY_DEPENDENCIES
ghc-options: -Wall
if flag(pedantic)
ghc-options:
-fwarn-tabs
-fwarn-implicit-prelude
-- -Werror
source-repository head
type: git
location: git://github.com/trskop/overloaded-records.git
source-repository this
type: git
location: git://github.com/trskop/overloaded-records.git
tag: 0.4.1.0