packages feed

Cabal revisions of large-records-0.1.0.0

Hackage metadata revisions edit the .cabal file after upload; each diff below is one revision.

revision 1
-cabal-version:      2.4-name:               large-records-version:            0.1.0.0-synopsis:           Efficient compilation for large records, linear in the size of the record-description:        For many reasons, the internal code generated for modules-                    that contain records is quadratic in the number of record-                    fields. For large records (more than 30 fields, say), this-                    can become problematic, leading to large compilation times-                    and high memory requirements for ghc. The large-records-                    library provides a way to define records that is guaranteed-                    to result in ghc core that is /linear/ in the number of-                    record fields.-bug-reports:        https://github.com/well-typed/large-records/issues-license:            BSD-3-Clause-author:             Edsko de Vries-maintainer:         edsko@well-typed.com-category:           Generics-extra-source-files: CHANGELOG.md--source-repository head-  type:     git-  location: https://github.com/well-typed/large-records--library-    exposed-modules:    Data.Record.Generic-                        Data.Record.Generic.Eq-                        Data.Record.Generic.GHC-                        Data.Record.Generic.JSON-                        Data.Record.Generic.Lens.Micro-                        Data.Record.Generic.LowerBound-                        Data.Record.Generic.Rep-                        Data.Record.Generic.Rep.Internal-                        Data.Record.Generic.Show-                        Data.Record.Generic.SOP-                        Data.Record.Generic.Transform--                        Data.Record.QQ.CodeGen-                        Data.Record.QQ.CodeGen.HSE-                        Data.Record.QQ.CodeGen.Parser-                        Data.Record.QQ.Runtime.MatchHasField--                        Data.Record.TH-                        Data.Record.TH.CodeGen-                        Data.Record.TH.CodeGen.Tree-                        Data.Record.TH.Config.Options-                        Data.Record.TH.Runtime--                        Data.Record.Internal.CodeGen-                        Data.Record.Internal.Naming-                        Data.Record.Internal.Record-                        Data.Record.Internal.Record.Parser-                        Data.Record.Internal.Record.Resolution-                        Data.Record.Internal.Record.Resolution.GHC-                        Data.Record.Internal.Record.Resolution.Internal-                        Data.Record.Internal.TH.Name-                        Data.Record.Internal.TH.Util-                        Data.Record.Internal.Util--    build-depends:      base >=4.13 && < 4.15-                      , aeson-                      , containers-                      , generics-sop-                      , haskell-src-exts-                      , haskell-src-meta-                      , microlens-                      , mtl-                      , record-hasfield-                      , sop-core-                      , syb-                      , template-haskell-                      , text-                      , vector-    hs-source-dirs:     src-    default-language:   Haskell2010-    default-extensions: NoStarIsType-    ghc-options:       -Wall-                       -Wcompat-                       -Wincomplete-uni-patterns-                       -Wincomplete-record-updates-                       -Wpartial-fields-                       -Widentities-                       -Wredundant-constraints-                       -Wmissing-export-lists--test-suite test-large-records-    type:               exitcode-stdio-1.0-    main-is:            TestLargeRecords.hs-    other-modules:      Test.Record.Prop.Show-                        Test.Record.Prop.Show.Regular-                        Test.Record.Prop.Show.Large-                        Test.Record.Prop.ToFromJSON-                        Test.Record.Sanity.Derive-                        Test.Record.Sanity.EqualFieldTypes-                        Test.Record.Sanity.ErrorsAndWarnings-                        Test.Record.Sanity.ErrorsAndWarnings.Stage1-                        Test.Record.Sanity.Generics-                        Test.Record.Sanity.GhcGenerics-                        Test.Record.Sanity.HigherKinded-                        Test.Record.Sanity.HKD-                        Test.Record.Sanity.Laziness-                        Test.Record.Sanity.Lens.Micro-                        Test.Record.Sanity.OverloadingNoDRF-                        Test.Record.Sanity.PatternMatch-                        Test.Record.Sanity.QualifiedImports-                        Test.Record.Sanity.QualifiedImports.A-                        Test.Record.Sanity.QualifiedImports.B-                        Test.Record.Sanity.RecordConstruction-                        Test.Record.Sanity.Strictness-                        Test.Record.Sanity.Transform-                        Test.Record.Size.After.HK010-                        Test.Record.Size.After.R0010-                        Test.Record.Size.Before.Baseline-                        Test.Record.Size.Before.R010-                        Test.Record.Size.Infra-                        Test.Record.Size.Sanity-                        Test.Record.Util--    build-depends:      base-                      , aeson-                      , generics-sop-                      , json-sop-                      , generic-deriving-                       -- TODO: Remove:-                      , ghc-dump-core-                      , large-records-                      , newtype-                      , microlens-                      , mtl-                      , record-dot-preprocessor-                      , record-hasfield-                      , sop-core-                      , tasty-                      , tasty-hunit-                      , tasty-quickcheck-                      , template-haskell-                      , transformers-                      , vector-                      , QuickCheck-    build-tool-depends: record-dot-preprocessor:record-dot-preprocessor-    hs-source-dirs:     test-    default-language:   Haskell2010-    ghc-options:       -Wall-                       -Wcompat-                       -Wincomplete-uni-patterns-                       -Wincomplete-record-updates-                       -Wpartial-fields-                       -Widentities-                       -- Needed for the AllZip tests-                       -freduction-depth=2000--    if flag(profile-allzip)-      cpp-options: -DPROFILE_ALLZIP--    if flag(use-ghc-dump)-      cpp-options: -DUSE_GHC_DUMP-      build-depends: ghc-dump-core--    if flag(build-all-modules)-      other-modules: Test.Record.Size.After.HK020-                     Test.Record.Size.After.HK030-                     Test.Record.Size.After.HK040-                     Test.Record.Size.After.HK050-                     Test.Record.Size.After.HK060-                     Test.Record.Size.After.HK070-                     Test.Record.Size.After.HK080-                     Test.Record.Size.After.HK090-                     Test.Record.Size.After.HK100-                     Test.Record.Size.After.R0020-                     Test.Record.Size.After.R0030-                     Test.Record.Size.After.R0040-                     Test.Record.Size.After.R0050-                     Test.Record.Size.After.R0060-                     Test.Record.Size.After.R0070-                     Test.Record.Size.After.R0080-                     Test.Record.Size.After.R0090-                     Test.Record.Size.After.R0100-                     Test.Record.Size.After.R0200-                     Test.Record.Size.After.R0300-                     Test.Record.Size.After.R0400-                     Test.Record.Size.After.R0500-                     Test.Record.Size.After.R0600-                     Test.Record.Size.After.R0700-                     Test.Record.Size.After.R0800-                     Test.Record.Size.After.R0900-                     Test.Record.Size.After.R1000-                     Test.Record.Size.Before.R020-                     Test.Record.Size.Before.R030-                     Test.Record.Size.Before.R040-                     Test.Record.Size.Before.R050-                     Test.Record.Size.Before.R060-                     Test.Record.Size.Before.R070-                     Test.Record.Size.Before.R080-                     Test.Record.Size.Before.R090-                     Test.Record.Size.Before.R100--Flag build-all-modules-  Description: Build all test modules in Size-  Default: False--Flag use-ghc-dump-  Description: use ghc-dump to output AST sizes-  Default: False--Flag profile-allzip-  Description: Include experiment to verify size of AllZip is linear-  Default: False+cabal-version:      2.4
+name:               large-records
+version:            0.1.0.0
+x-revision: 1
+synopsis:           Efficient compilation for large records, linear in the size of the record
+description:        For many reasons, the internal code generated for modules
+                    that contain records is quadratic in the number of record
+                    fields. For large records (more than 30 fields, say), this
+                    can become problematic, leading to large compilation times
+                    and high memory requirements for ghc. The large-records
+                    library provides a way to define records that is guaranteed
+                    to result in ghc core that is /linear/ in the number of
+                    record fields.
+bug-reports:        https://github.com/well-typed/large-records/issues
+license:            BSD-3-Clause
+author:             Edsko de Vries
+maintainer:         edsko@well-typed.com
+category:           Generics
+extra-source-files: CHANGELOG.md
+
+source-repository head
+  type:     git
+  location: https://github.com/well-typed/large-records
+
+library
+    exposed-modules:    Data.Record.Generic
+                        Data.Record.Generic.Eq
+                        Data.Record.Generic.GHC
+                        Data.Record.Generic.JSON
+                        Data.Record.Generic.Lens.Micro
+                        Data.Record.Generic.LowerBound
+                        Data.Record.Generic.Rep
+                        Data.Record.Generic.Rep.Internal
+                        Data.Record.Generic.Show
+                        Data.Record.Generic.SOP
+                        Data.Record.Generic.Transform
+
+                        Data.Record.QQ.CodeGen
+                        Data.Record.QQ.CodeGen.HSE
+                        Data.Record.QQ.CodeGen.Parser
+                        Data.Record.QQ.Runtime.MatchHasField
+
+                        Data.Record.TH
+                        Data.Record.TH.CodeGen
+                        Data.Record.TH.CodeGen.Tree
+                        Data.Record.TH.Config.Options
+                        Data.Record.TH.Runtime
+
+                        Data.Record.Internal.CodeGen
+                        Data.Record.Internal.Naming
+                        Data.Record.Internal.Record
+                        Data.Record.Internal.Record.Parser
+                        Data.Record.Internal.Record.Resolution
+                        Data.Record.Internal.Record.Resolution.GHC
+                        Data.Record.Internal.Record.Resolution.Internal
+                        Data.Record.Internal.TH.Name
+                        Data.Record.Internal.TH.Util
+                        Data.Record.Internal.Util
+
+    build-depends:      base             >= 4.13   && < 4.15
+                      , aeson            >= 1.4.4  && < 1.6
+                      , containers       >= 0.6.2  && < 0.7
+                      , generics-sop     >= 0.5    && < 0.6
+                      , haskell-src-exts >= 1.21.1 && < 1.24
+                      , haskell-src-meta >= 0.8.3  && < 0.9
+                      , microlens        >= 0.1.5  && < 0.5
+                      , mtl              >= 2.2.1  && < 2.3
+                      , record-hasfield  >= 1.0    && < 1.1
+                      , sop-core         >= 0.5    && < 0.6
+                      , syb              >= 0.7    && < 0.8
+                      , text             >= 1.2.4  && < 1.5
+                      , vector           >= 0.12   && < 0.13
+
+                        -- whatever version is bundled with ghc
+                      , template-haskell
+    hs-source-dirs:     src
+    default-language:   Haskell2010
+    default-extensions: NoStarIsType
+    ghc-options:       -Wall
+                       -Wcompat
+                       -Wincomplete-uni-patterns
+                       -Wincomplete-record-updates
+                       -Wpartial-fields
+                       -Widentities
+                       -Wredundant-constraints
+                       -Wmissing-export-lists
+
+test-suite test-large-records
+    type:               exitcode-stdio-1.0
+    main-is:            TestLargeRecords.hs
+    other-modules:      Test.Record.Prop.Show
+                        Test.Record.Prop.Show.Regular
+                        Test.Record.Prop.Show.Large
+                        Test.Record.Prop.ToFromJSON
+                        Test.Record.Sanity.Derive
+                        Test.Record.Sanity.EqualFieldTypes
+                        Test.Record.Sanity.ErrorsAndWarnings
+                        Test.Record.Sanity.ErrorsAndWarnings.Stage1
+                        Test.Record.Sanity.Generics
+                        Test.Record.Sanity.GhcGenerics
+                        Test.Record.Sanity.HigherKinded
+                        Test.Record.Sanity.HKD
+                        Test.Record.Sanity.Laziness
+                        Test.Record.Sanity.Lens.Micro
+                        Test.Record.Sanity.OverloadingNoDRF
+                        Test.Record.Sanity.PatternMatch
+                        Test.Record.Sanity.QualifiedImports
+                        Test.Record.Sanity.QualifiedImports.A
+                        Test.Record.Sanity.QualifiedImports.B
+                        Test.Record.Sanity.RecordConstruction
+                        Test.Record.Sanity.Strictness
+                        Test.Record.Sanity.Transform
+                        Test.Record.Size.After.HK010
+                        Test.Record.Size.After.R0010
+                        Test.Record.Size.Before.Baseline
+                        Test.Record.Size.Before.R010
+                        Test.Record.Size.Infra
+                        Test.Record.Size.Sanity
+                        Test.Record.Util
+
+    build-depends:      base
+                      , aeson
+                      , generics-sop
+                      , json-sop
+                      , generic-deriving
+                       -- TODO: Remove:
+                      , ghc-dump-core
+                      , large-records
+                      , newtype
+                      , microlens
+                      , mtl
+                      , record-dot-preprocessor
+                      , record-hasfield
+                      , sop-core
+                      , tasty
+                      , tasty-hunit
+                      , tasty-quickcheck
+                      , template-haskell
+                      , transformers
+                      , vector
+                      , QuickCheck
+    build-tool-depends: record-dot-preprocessor:record-dot-preprocessor
+    hs-source-dirs:     test
+    default-language:   Haskell2010
+    ghc-options:       -Wall
+                       -Wcompat
+                       -Wincomplete-uni-patterns
+                       -Wincomplete-record-updates
+                       -Wpartial-fields
+                       -Widentities
+                       -- Needed for the AllZip tests
+                       -freduction-depth=2000
+
+    if flag(profile-allzip)
+      cpp-options: -DPROFILE_ALLZIP
+
+    if flag(use-ghc-dump)
+      cpp-options: -DUSE_GHC_DUMP
+      build-depends: ghc-dump-core
+
+    if flag(build-all-modules)
+      other-modules: Test.Record.Size.After.HK020
+                     Test.Record.Size.After.HK030
+                     Test.Record.Size.After.HK040
+                     Test.Record.Size.After.HK050
+                     Test.Record.Size.After.HK060
+                     Test.Record.Size.After.HK070
+                     Test.Record.Size.After.HK080
+                     Test.Record.Size.After.HK090
+                     Test.Record.Size.After.HK100
+                     Test.Record.Size.After.R0020
+                     Test.Record.Size.After.R0030
+                     Test.Record.Size.After.R0040
+                     Test.Record.Size.After.R0050
+                     Test.Record.Size.After.R0060
+                     Test.Record.Size.After.R0070
+                     Test.Record.Size.After.R0080
+                     Test.Record.Size.After.R0090
+                     Test.Record.Size.After.R0100
+                     Test.Record.Size.After.R0200
+                     Test.Record.Size.After.R0300
+                     Test.Record.Size.After.R0400
+                     Test.Record.Size.After.R0500
+                     Test.Record.Size.After.R0600
+                     Test.Record.Size.After.R0700
+                     Test.Record.Size.After.R0800
+                     Test.Record.Size.After.R0900
+                     Test.Record.Size.After.R1000
+                     Test.Record.Size.Before.R020
+                     Test.Record.Size.Before.R030
+                     Test.Record.Size.Before.R040
+                     Test.Record.Size.Before.R050
+                     Test.Record.Size.Before.R060
+                     Test.Record.Size.Before.R070
+                     Test.Record.Size.Before.R080
+                     Test.Record.Size.Before.R090
+                     Test.Record.Size.Before.R100
+
+Flag build-all-modules
+  Description: Build all test modules in Size
+  Default: False
+
+Flag use-ghc-dump
+  Description: use ghc-dump to output AST sizes
+  Default: False
+
+Flag profile-allzip
+  Description: Include experiment to verify size of AllZip is linear
+  Default: False