large-anon-0.1.0.0: large-anon.cabal
cabal-version: 2.4
name: large-anon
version: 0.1.0.0
synopsis: Scalable anonymous records
description: The @large-anon@ package provides support for anonymous
records in Haskell, with a focus on compile-time (and
run-time) scalability.
bug-reports: https://github.com/well-typed/large-records/issues
license: BSD-3-Clause
author: Edsko de Vries
maintainer: edsko@well-typed.com
category: Records
extra-source-files: CHANGELOG.md
tested-with: GHC ==8.8.4 || ==8.10.7 || ==9.0.2
library
exposed-modules:
Data.Record.Anon
Data.Record.Anon.Simple
Data.Record.Anon.Advanced
Data.Record.Anon.Plugin
Data.Record.Anon.Plugin.Internal.Runtime
other-modules:
-- Module organization:
--
-- o The modules in @Core.*@ can only import from other modules in
-- @Core.*@ and modules in @Util.*@.
-- o The modules in the rest of @Internal.*@ can import from @Core.*@ and
-- @Util.*@, as well "Data.Record.Anon.Plugin.Internal.Runtime".
--
-- See detailed discussion in the runtime module.
--
Data.Record.Anon.Internal.Util.SmallHashMap
Data.Record.Anon.Internal.Util.StrictArray
Data.Record.Anon.Internal.Core.Canonical
Data.Record.Anon.Internal.Core.Diff
Data.Record.Anon.Internal.Core.FieldName
Data.Record.Anon.Internal.Reflection
Data.Record.Anon.Internal.Advanced
Data.Record.Anon.Internal.Simple
Data.Record.Anon.Internal.Plugin
Data.Record.Anon.Internal.Plugin.TC.Constraints.AllFields
Data.Record.Anon.Internal.Plugin.TC.Constraints.KnownFields
Data.Record.Anon.Internal.Plugin.TC.Constraints.KnownHash
Data.Record.Anon.Internal.Plugin.TC.Constraints.RowHasField
Data.Record.Anon.Internal.Plugin.TC.Constraints.SubRow
Data.Record.Anon.Internal.Plugin.TC.EquivClasses
Data.Record.Anon.Internal.Plugin.TC.GhcTcPluginAPI
Data.Record.Anon.Internal.Plugin.TC.NameResolution
Data.Record.Anon.Internal.Plugin.TC.Parsing
Data.Record.Anon.Internal.Plugin.TC.Rewriter
Data.Record.Anon.Internal.Plugin.TC.Row.KnownField
Data.Record.Anon.Internal.Plugin.TC.Row.KnownRow
Data.Record.Anon.Internal.Plugin.TC.Row.ParsedRow
Data.Record.Anon.Internal.Plugin.TC.Solver
Data.Record.Anon.Internal.Plugin.TC.TyConSubst
Data.Record.Anon.Internal.Plugin.Source
Data.Record.Anon.Internal.Plugin.Source.GhcShim
Data.Record.Anon.Internal.Plugin.Source.Names
Data.Record.Anon.Internal.Plugin.Source.NamingT
Data.Record.Anon.Internal.Plugin.Source.Options
build-depends:
base >= 4.13 && < 4.18
, aeson >= 1.4.4 && < 2.1
, containers >= 0.6.2 && < 0.7
, ghc-tcplugin-api >= 0.7.1 && < 0.8
, hashable >= 1.3 && < 1.4
, mtl >= 2.2.1 && < 2.3
, optics-core >= 0.3 && < 0.5
, primitive >= 0.7.1 && < 0.8
, record-hasfield >= 1.0 && < 1.1
, sop-core >= 0.5 && < 0.6
, syb >= 0.7 && < 0.8
, tagged >= 0.8.6 && < 0.9
, typelet >= 0.1 && < 0.2
-- large-generics 0.2 starts using 'SmallArray' instead of 'Vector'
, large-generics >= 0.2 && < 0.3
-- Whatever version is bundled with ghc
, ghc
hs-source-dirs:
src
default-language:
Haskell2010
ghc-options:
-Wall
-Wredundant-constraints
-Wno-unticked-promoted-constructors
if impl(ghc >= 8.10)
ghc-options:
-Wunused-packages
if flag(debug)
build-depends:
recover-rtti >= 0.4.1
cpp-options:
-DDEBUG
test-suite test-large-anon
default-language:
Haskell2010
type:
exitcode-stdio-1.0
hs-source-dirs:
test
main-is:
TestLargeAnon.hs
other-modules:
Test.Infra.Generics
Test.Infra.MarkStrictness
Test.Infra.Discovery
Test.Infra.DynRecord
Test.Infra.DynRecord.Advanced
Test.Infra.DynRecord.Simple
Test.Prop.Record.Combinators.Constrained
Test.Prop.Record.Combinators.Simple
Test.Prop.Record.Model
Test.Prop.Record.Model.Generator
Test.Prop.Record.Model.Orphans
Test.Sanity.AllFields
Test.Sanity.Applicative
Test.Sanity.BlogPost
Test.Sanity.CheckIsSubRow
Test.Sanity.Discovery
Test.Sanity.DuplicateFields
Test.Sanity.Generics
Test.Sanity.HasField
Test.Sanity.Intersection
Test.Sanity.Merging
Test.Sanity.Named.Record1
Test.Sanity.Named.Record2
Test.Sanity.PolyKinds
Test.Sanity.RecordLens
Test.Sanity.Simple
Test.Sanity.SrcPlugin.WithoutTypelet
Test.Sanity.SrcPlugin.WithTypelet
Test.Sanity.TypeLevelMetadata
build-depends:
base
, aeson
, aeson-pretty
, bytestring
, large-anon
, large-generics
, mtl
, optics-core
, parsec
, QuickCheck
, record-dot-preprocessor
, sop-core
, tasty
, tasty-hunit
, tasty-quickcheck
, text
, typelet
, validation-selective
-- required when using record-dot-preprocessor
, record-hasfield
ghc-options:
-Wall
-Wredundant-constraints
-Wno-unticked-promoted-constructors
-fno-show-valid-hole-fits
if impl(ghc >= 8.10)
ghc-options: -Wunused-packages
if impl(ghc >= 9.0.1)
-- Work out ghc problem. See more detailed discussion in large-records.
ghc-options: -Wno-unused-imports
Flag debug
Description: Enable internal debugging features
Default: False
Manual: True