cabal-version: 2.4 name: large-anon version: 0.2.1 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 test/Test/Sanity/RebindableSyntax/Tests.hs tested-with: GHC ==8.8.4 || ==8.10.7 || ==9.0.2 || ==9.2.7 || ==9.4.5 library exposed-modules: Data.Record.Anon Data.Record.Anon.Advanced Data.Record.Anon.Overloading Data.Record.Anon.Plugin Data.Record.Anon.Plugin.Internal.Runtime Data.Record.Anon.Simple 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.FreshT Data.Record.Anon.Internal.Plugin.Source.GhcShim Data.Record.Anon.Internal.Plugin.Source.Names Data.Record.Anon.Internal.Plugin.Source.Options build-depends: base >= 4.13 && < 4.18 , aeson >= 1.4.4 && < 2.2 , containers >= 0.6.2 && < 0.7 , deepseq >= 1.4.4 && < 1.5 , ghc-tcplugin-api >= 0.10 && < 0.11 , hashable >= 1.3 && < 1.5 , 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.Discovery Test.Infra.DynRecord Test.Infra.DynRecord.Advanced Test.Infra.DynRecord.Simple Test.Infra.Generics Test.Infra.MarkStrictness 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.Fourmolu.OverloadedRecordDot Test.Sanity.Fourmolu.OverloadedRecordUpdate Test.Sanity.Generics Test.Sanity.HasField Test.Sanity.Intersection Test.Sanity.Merging Test.Sanity.Named.Record1 Test.Sanity.Named.Record2 Test.Sanity.OverloadedRecordDot Test.Sanity.OverloadedRecordUpdate Test.Sanity.PolyKinds Test.Sanity.RebindableSyntax.Disabled Test.Sanity.RebindableSyntax.Enabled Test.Sanity.RecordLens Test.Sanity.Simple Test.Sanity.SrcPlugin.WithoutTypelet Test.Sanity.SrcPlugin.WithTypelet Test.Sanity.TypeLevelMetadata build-depends: , aeson , aeson-pretty , arrows , base , bytestring , large-anon , large-generics , mtl , optics-core , parsec , QuickCheck , record-dot-preprocessor , record-hasfield , sop-core , Stream , tasty , tasty-hunit , tasty-quickcheck , text , typelet , validation-selective ghc-options: -Wall -Wredundant-constraints -Wno-unticked-promoted-constructors -fno-show-valid-hole-fits -- Not sure why, but ghc warns about record-hasfield being unused, -- despite it actually being required. So for now we just disable this check. -- if impl(ghc >= 8.10) -- ghc-options: -Wunused-packages if impl(ghc >= 9.2) build-tool-depends: large-anon:large-anon-testsuite-fourmolu-preprocessor Executable large-anon-testsuite-fourmolu-preprocessor main-is: Main.hs hs-source-dirs: fourmolu-preprocessor build-depends: , base , fourmolu >= 0.10.1 , text default-language: Haskell2010 ghc-options: -Wall -- Fourmolu is only compatible with RDP syntax from ghc 9.2 and up. if impl(ghc < 9.2) buildable: False Flag debug Description: Enable internal debugging features Default: False Manual: True