dhall-haskell/dhall/dhall.cabal
Gabriel Gonzalez f24f665047
Fix non-exhaustive pattern match in dhall lint (#780)
`dhall lint` would fail on the following expression:

```
    let replicate = https://prelude.dhall-lang.org/List/replicate

in  let Config = { name : Text, age : Natural }

in  let Configs = List Config

in  replicate 10 Text "!"
```

... because the code (incorrectly) assumed that simplifying an inner
`let` binding would preserve at least one `let` binding.  However, when the
outer `let` (beginning with `let replicate`) is simplified the inner `let`
(beginning with `let Config`) simplifies down to just `replicate 10 Text "!"`
which has no `let` binding at all, leading to a pattern match failure.

This change fixes that by extending the code to correctly handle that case
with an exhaustive pattern match.
2019-01-16 21:59:11 -08:00

487 lines
22 KiB
Plaintext

Name: dhall
Version: 1.20.1
Cabal-Version: >=1.10
Build-Type: Simple
Tested-With: GHC == 8.0.1
License: BSD3
License-File: LICENSE
Copyright: 2017 Gabriel Gonzalez
Author: Gabriel Gonzalez
Maintainer: Gabriel439@gmail.com
Bug-Reports: https://github.com/dhall-lang/dhall-haskell/issues
Synopsis: A configuration language guaranteed to terminate
Description:
Dhall is an explicitly typed configuration language that is not Turing
complete. Despite being Turing incomplete, Dhall is a real programming
language with a type-checker and evaluator.
.
Use this library to parse, type-check, evaluate, and pretty-print the Dhall
configuration language. This package also includes an executable which
type-checks a Dhall file and reduces the file to a fully evaluated normal
form.
.
Read "Dhall.Tutorial" to learn how to use this library
Category: Compiler
Extra-Source-Files:
benchmark/deep-nested-large-record/*.dhall
benchmark/examples/*.dhall
CHANGELOG.md
Prelude/Monoid
Prelude/package.dhall
tests/format/*.dhall
tests/import/data/fieldOrder/*.dhall
tests/import/data/foo/bar/*.dhall
tests/import/failure/*.dhall
tests/import/success/*.dhall
tests/lint/success/*.dhall
tests/normalization/success/*.dhall
tests/normalization/success/haskell-tutorial/access/*.dhall
tests/normalization/success/haskell-tutorial/combineTypes/*.dhall
tests/normalization/success/haskell-tutorial/prefer/*.dhall
tests/normalization/success/haskell-tutorial/projection/*.dhall
tests/normalization/success/multiline/*.dhall
tests/normalization/success/prelude/Bool/and/*.dhall
tests/normalization/success/prelude/Bool/and/*.dhall
tests/normalization/success/prelude/Bool/build/*.dhall
tests/normalization/success/prelude/Bool/build/*.dhall
tests/normalization/success/prelude/Bool/even/*.dhall
tests/normalization/success/prelude/Bool/even/*.dhall
tests/normalization/success/prelude/Bool/fold/*.dhall
tests/normalization/success/prelude/Bool/fold/*.dhall
tests/normalization/success/prelude/Bool/not/*.dhall
tests/normalization/success/prelude/Bool/not/*.dhall
tests/normalization/success/prelude/Bool/odd/*.dhall
tests/normalization/success/prelude/Bool/odd/*.dhall
tests/normalization/success/prelude/Bool/or/*.dhall
tests/normalization/success/prelude/Bool/or/*.dhall
tests/normalization/success/prelude/Bool/show/*.dhall
tests/normalization/success/prelude/Bool/show/*.dhall
tests/normalization/success/prelude/Double/show/*.dhall
tests/normalization/success/prelude/Double/show/*.dhall
tests/normalization/success/prelude/Integer/show/*.dhall
tests/normalization/success/prelude/Integer/show/*.dhall
tests/normalization/success/prelude/Integer/toDouble/*.dhall
tests/normalization/success/prelude/Integer/toDouble/*.dhall
tests/normalization/success/prelude/List/all/*.dhall
tests/normalization/success/prelude/List/all/*.dhall
tests/normalization/success/prelude/List/any/*.dhall
tests/normalization/success/prelude/List/any/*.dhall
tests/normalization/success/prelude/List/build/*.dhall
tests/normalization/success/prelude/List/build/*.dhall
tests/normalization/success/prelude/List/concat/*.dhall
tests/normalization/success/prelude/List/concat/*.dhall
tests/normalization/success/prelude/List/concatMap/*.dhall
tests/normalization/success/prelude/List/concatMap/*.dhall
tests/normalization/success/prelude/List/filter/*.dhall
tests/normalization/success/prelude/List/filter/*.dhall
tests/normalization/success/prelude/List/fold/*.dhall
tests/normalization/success/prelude/List/fold/*.dhall
tests/normalization/success/prelude/List/generate/*.dhall
tests/normalization/success/prelude/List/generate/*.dhall
tests/normalization/success/prelude/List/head/*.dhall
tests/normalization/success/prelude/List/head/*.dhall
tests/normalization/success/prelude/List/indexed/*.dhall
tests/normalization/success/prelude/List/indexed/*.dhall
tests/normalization/success/prelude/List/iterate/*.dhall
tests/normalization/success/prelude/List/iterate/*.dhall
tests/normalization/success/prelude/List/last/*.dhall
tests/normalization/success/prelude/List/last/*.dhall
tests/normalization/success/prelude/List/length/*.dhall
tests/normalization/success/prelude/List/length/*.dhall
tests/normalization/success/prelude/List/map/*.dhall
tests/normalization/success/prelude/List/map/*.dhall
tests/normalization/success/prelude/List/null/*.dhall
tests/normalization/success/prelude/List/null/*.dhall
tests/normalization/success/prelude/List/replicate/*.dhall
tests/normalization/success/prelude/List/replicate/*.dhall
tests/normalization/success/prelude/List/reverse/*.dhall
tests/normalization/success/prelude/List/reverse/*.dhall
tests/normalization/success/prelude/List/shifted/*.dhall
tests/normalization/success/prelude/List/shifted/*.dhall
tests/normalization/success/prelude/List/unzip/*.dhall
tests/normalization/success/prelude/List/unzip/*.dhall
tests/normalization/success/prelude/Natural/build/*.dhall
tests/normalization/success/prelude/Natural/build/*.dhall
tests/normalization/success/prelude/Natural/enumerate/*.dhall
tests/normalization/success/prelude/Natural/enumerate/*.dhall
tests/normalization/success/prelude/Natural/even/*.dhall
tests/normalization/success/prelude/Natural/even/*.dhall
tests/normalization/success/prelude/Natural/fold/*.dhall
tests/normalization/success/prelude/Natural/fold/*.dhall
tests/normalization/success/prelude/Natural/isZero/*.dhall
tests/normalization/success/prelude/Natural/isZero/*.dhall
tests/normalization/success/prelude/Natural/odd/*.dhall
tests/normalization/success/prelude/Natural/odd/*.dhall
tests/normalization/success/prelude/Natural/product/*.dhall
tests/normalization/success/prelude/Natural/product/*.dhall
tests/normalization/success/prelude/Natural/show/*.dhall
tests/normalization/success/prelude/Natural/show/*.dhall
tests/normalization/success/prelude/Natural/sum/*.dhall
tests/normalization/success/prelude/Natural/sum/*.dhall
tests/normalization/success/prelude/Natural/toDouble/*.dhall
tests/normalization/success/prelude/Natural/toDouble/*.dhall
tests/normalization/success/prelude/Natural/toInteger/*.dhall
tests/normalization/success/prelude/Natural/toInteger/*.dhall
tests/normalization/success/prelude/Optional/all/*.dhall
tests/normalization/success/prelude/Optional/all/*.dhall
tests/normalization/success/prelude/Optional/any/*.dhall
tests/normalization/success/prelude/Optional/any/*.dhall
tests/normalization/success/prelude/Optional/build/*.dhall
tests/normalization/success/prelude/Optional/build/*.dhall
tests/normalization/success/prelude/Optional/concat/*.dhall
tests/normalization/success/prelude/Optional/concat/*.dhall
tests/normalization/success/prelude/Optional/filter/*.dhall
tests/normalization/success/prelude/Optional/filter/*.dhall
tests/normalization/success/prelude/Optional/fold/*.dhall
tests/normalization/success/prelude/Optional/fold/*.dhall
tests/normalization/success/prelude/Optional/head/*.dhall
tests/normalization/success/prelude/Optional/head/*.dhall
tests/normalization/success/prelude/Optional/last/*.dhall
tests/normalization/success/prelude/Optional/last/*.dhall
tests/normalization/success/prelude/Optional/length/*.dhall
tests/normalization/success/prelude/Optional/length/*.dhall
tests/normalization/success/prelude/Optional/map/*.dhall
tests/normalization/success/prelude/Optional/map/*.dhall
tests/normalization/success/prelude/Optional/null/*.dhall
tests/normalization/success/prelude/Optional/null/*.dhall
tests/normalization/success/prelude/Optional/toList/*.dhall
tests/normalization/success/prelude/Optional/toList/*.dhall
tests/normalization/success/prelude/Optional/unzip/*.dhall
tests/normalization/success/prelude/Optional/unzip/*.dhall
tests/normalization/success/prelude/Text/concat/*.dhall
tests/normalization/success/prelude/Text/concat/*.dhall
tests/normalization/success/prelude/Text/concatMap/*.dhall
tests/normalization/success/prelude/Text/concatMap/*.dhall
tests/normalization/success/prelude/Text/concatMapSep/*.dhall
tests/normalization/success/prelude/Text/concatMapSep/*.dhall
tests/normalization/success/prelude/Text/concatSep/*.dhall
tests/normalization/success/prelude/Text/concatSep/*.dhall
tests/normalization/success/simple/*.dhall
tests/normalization/success/simplifications/*.dhall
tests/parser/failure/*.dhall
tests/parser/success/*.dhall
tests/regression/*.dhall
tests/tutorial/*.dhall
tests/typecheck/failure/*.dhall
tests/typecheck/success/*.dhall
tests/typecheck/success/prelude/Bool/and/*.dhall
tests/typecheck/success/prelude/Bool/and/*.dhall
tests/typecheck/success/prelude/Bool/build/*.dhall
tests/typecheck/success/prelude/Bool/build/*.dhall
tests/typecheck/success/prelude/Bool/even/*.dhall
tests/typecheck/success/prelude/Bool/even/*.dhall
tests/typecheck/success/prelude/Bool/fold/*.dhall
tests/typecheck/success/prelude/Bool/fold/*.dhall
tests/typecheck/success/prelude/Bool/not/*.dhall
tests/typecheck/success/prelude/Bool/not/*.dhall
tests/typecheck/success/prelude/Bool/odd/*.dhall
tests/typecheck/success/prelude/Bool/odd/*.dhall
tests/typecheck/success/prelude/Bool/or/*.dhall
tests/typecheck/success/prelude/Bool/or/*.dhall
tests/typecheck/success/prelude/Bool/show/*.dhall
tests/typecheck/success/prelude/Bool/show/*.dhall
tests/typecheck/success/prelude/Double/show/*.dhall
tests/typecheck/success/prelude/Double/show/*.dhall
tests/typecheck/success/prelude/Integer/show/*.dhall
tests/typecheck/success/prelude/Integer/show/*.dhall
tests/typecheck/success/prelude/Integer/toDouble/*.dhall
tests/typecheck/success/prelude/Integer/toDouble/*.dhall
tests/typecheck/success/prelude/List/all/*.dhall
tests/typecheck/success/prelude/List/all/*.dhall
tests/typecheck/success/prelude/List/any/*.dhall
tests/typecheck/success/prelude/List/any/*.dhall
tests/typecheck/success/prelude/List/build/*.dhall
tests/typecheck/success/prelude/List/build/*.dhall
tests/typecheck/success/prelude/List/concat/*.dhall
tests/typecheck/success/prelude/List/concat/*.dhall
tests/typecheck/success/prelude/List/concatMap/*.dhall
tests/typecheck/success/prelude/List/concatMap/*.dhall
tests/typecheck/success/prelude/List/filter/*.dhall
tests/typecheck/success/prelude/List/filter/*.dhall
tests/typecheck/success/prelude/List/fold/*.dhall
tests/typecheck/success/prelude/List/fold/*.dhall
tests/typecheck/success/prelude/List/generate/*.dhall
tests/typecheck/success/prelude/List/generate/*.dhall
tests/typecheck/success/prelude/List/head/*.dhall
tests/typecheck/success/prelude/List/head/*.dhall
tests/typecheck/success/prelude/List/indexed/*.dhall
tests/typecheck/success/prelude/List/indexed/*.dhall
tests/typecheck/success/prelude/List/iterate/*.dhall
tests/typecheck/success/prelude/List/iterate/*.dhall
tests/typecheck/success/prelude/List/last/*.dhall
tests/typecheck/success/prelude/List/last/*.dhall
tests/typecheck/success/prelude/List/length/*.dhall
tests/typecheck/success/prelude/List/length/*.dhall
tests/typecheck/success/prelude/List/map/*.dhall
tests/typecheck/success/prelude/List/map/*.dhall
tests/typecheck/success/prelude/List/null/*.dhall
tests/typecheck/success/prelude/List/null/*.dhall
tests/typecheck/success/prelude/List/replicate/*.dhall
tests/typecheck/success/prelude/List/replicate/*.dhall
tests/typecheck/success/prelude/List/reverse/*.dhall
tests/typecheck/success/prelude/List/reverse/*.dhall
tests/typecheck/success/prelude/List/shifted/*.dhall
tests/typecheck/success/prelude/List/shifted/*.dhall
tests/typecheck/success/prelude/List/unzip/*.dhall
tests/typecheck/success/prelude/List/unzip/*.dhall
tests/typecheck/success/prelude/Monoid/*.dhall
tests/typecheck/success/prelude/Natural/build/*.dhall
tests/typecheck/success/prelude/Natural/build/*.dhall
tests/typecheck/success/prelude/Natural/enumerate/*.dhall
tests/typecheck/success/prelude/Natural/enumerate/*.dhall
tests/typecheck/success/prelude/Natural/even/*.dhall
tests/typecheck/success/prelude/Natural/even/*.dhall
tests/typecheck/success/prelude/Natural/fold/*.dhall
tests/typecheck/success/prelude/Natural/fold/*.dhall
tests/typecheck/success/prelude/Natural/isZero/*.dhall
tests/typecheck/success/prelude/Natural/isZero/*.dhall
tests/typecheck/success/prelude/Natural/odd/*.dhall
tests/typecheck/success/prelude/Natural/odd/*.dhall
tests/typecheck/success/prelude/Natural/product/*.dhall
tests/typecheck/success/prelude/Natural/product/*.dhall
tests/typecheck/success/prelude/Natural/show/*.dhall
tests/typecheck/success/prelude/Natural/show/*.dhall
tests/typecheck/success/prelude/Natural/sum/*.dhall
tests/typecheck/success/prelude/Natural/sum/*.dhall
tests/typecheck/success/prelude/Natural/toDouble/*.dhall
tests/typecheck/success/prelude/Natural/toDouble/*.dhall
tests/typecheck/success/prelude/Natural/toInteger/*.dhall
tests/typecheck/success/prelude/Natural/toInteger/*.dhall
tests/typecheck/success/prelude/Optional/all/*.dhall
tests/typecheck/success/prelude/Optional/all/*.dhall
tests/typecheck/success/prelude/Optional/any/*.dhall
tests/typecheck/success/prelude/Optional/any/*.dhall
tests/typecheck/success/prelude/Optional/build/*.dhall
tests/typecheck/success/prelude/Optional/build/*.dhall
tests/typecheck/success/prelude/Optional/concat/*.dhall
tests/typecheck/success/prelude/Optional/concat/*.dhall
tests/typecheck/success/prelude/Optional/filter/*.dhall
tests/typecheck/success/prelude/Optional/filter/*.dhall
tests/typecheck/success/prelude/Optional/fold/*.dhall
tests/typecheck/success/prelude/Optional/fold/*.dhall
tests/typecheck/success/prelude/Optional/head/*.dhall
tests/typecheck/success/prelude/Optional/head/*.dhall
tests/typecheck/success/prelude/Optional/last/*.dhall
tests/typecheck/success/prelude/Optional/last/*.dhall
tests/typecheck/success/prelude/Optional/length/*.dhall
tests/typecheck/success/prelude/Optional/length/*.dhall
tests/typecheck/success/prelude/Optional/map/*.dhall
tests/typecheck/success/prelude/Optional/map/*.dhall
tests/typecheck/success/prelude/Optional/null/*.dhall
tests/typecheck/success/prelude/Optional/null/*.dhall
tests/typecheck/success/prelude/Optional/toList/*.dhall
tests/typecheck/success/prelude/Optional/toList/*.dhall
tests/typecheck/success/prelude/Optional/unzip/*.dhall
tests/typecheck/success/prelude/Optional/unzip/*.dhall
tests/typecheck/success/prelude/Text/concat/*.dhall
tests/typecheck/success/prelude/Text/concat/*.dhall
tests/typecheck/success/prelude/Text/concatMap/*.dhall
tests/typecheck/success/prelude/Text/concatMap/*.dhall
tests/typecheck/success/prelude/Text/concatMapSep/*.dhall
tests/typecheck/success/prelude/Text/concatMapSep/*.dhall
tests/typecheck/success/prelude/Text/concatSep/*.dhall
tests/typecheck/success/prelude/Text/concatSep/*.dhall
tests/typecheck/success/simple/access/*.dhall
tests/typecheck/success/simple/*.dhall
Source-Repository head
Type: git
Location: https://github.com/dhall-lang/dhall-haskell/tree/master/dhall
Flag with-http
Description: Include support for importing dhall modules from HTTP URLs
Default: True
Manual: True
Library
Hs-Source-Dirs: src
Build-Depends:
base >= 4.8.2.0 && < 5 ,
aeson >= 1.0.0.0 && < 1.5 ,
aeson-pretty < 0.9 ,
ansi-terminal >= 0.6.3.1 && < 0.9 ,
bytestring < 0.11,
case-insensitive < 1.3 ,
cborg >= 0.2.0.0 && < 0.3 ,
cborg-json < 0.3 ,
containers >= 0.5.0.0 && < 0.7 ,
contravariant < 1.6 ,
cryptonite >= 0.23 && < 1.0 ,
Diff >= 0.2 && < 0.4 ,
directory >= 1.2.2.0 && < 1.4 ,
dotgen >= 0.4.2 && < 0.5 ,
exceptions >= 0.8.3 && < 0.11,
filepath >= 1.4 && < 1.5 ,
haskeline >= 0.7.2.1 && < 0.8 ,
lens-family-core >= 1.0.0 && < 1.3 ,
megaparsec >= 7.0.0 && < 7.1 ,
memory >= 0.14 && < 0.15,
mtl >= 2.2.1 && < 2.3 ,
optparse-applicative >= 0.14.0.0 && < 0.15,
parsers >= 0.12.4 && < 0.13,
prettyprinter >= 1.2.0.1 && < 1.3 ,
prettyprinter-ansi-terminal >= 1.1.1 && < 1.2 ,
repline >= 0.2.0.0 && < 0.3 ,
serialise >= 0.2.0.0 && < 0.3 ,
scientific >= 0.3.0.0 && < 0.4 ,
template-haskell < 2.15,
text >= 0.11.1.0 && < 1.3 ,
transformers >= 0.2.0.0 && < 0.6 ,
unordered-containers >= 0.1.3.0 && < 0.3 ,
uri-encode < 1.6 ,
vector >= 0.11.0.0 && < 0.13
if flag(with-http)
Build-Depends:
http-types >= 0.7.0 && < 0.13,
http-client >= 0.4.30 && < 0.7 ,
http-client-tls >= 0.2.0 && < 0.4
if !impl(ghc >= 8.0) && !impl(eta >= 0.8.4)
Build-Depends: semigroups == 0.18.*
Build-Depends: transformers == 0.4.2.*
Build-Depends: fail == 4.9.*
if impl(ghcjs)
Build-Depends: ghcjs-xhr
Exposed-Modules:
Dhall,
Dhall.Binary,
Dhall.Context,
Dhall.Core,
Dhall.Diff,
Dhall.Format,
Dhall.Freeze,
Dhall.Hash,
Dhall.Import,
Dhall.Lint,
Dhall.Main,
Dhall.Map,
Dhall.Set,
Dhall.Parser,
Dhall.Pretty,
Dhall.Repl,
Dhall.TH,
Dhall.Tutorial,
Dhall.TypeCheck
Other-Modules:
Dhall.Pretty.Internal,
Dhall.Parser.Expression,
Dhall.Parser.Combinators,
Dhall.Parser.Token,
Dhall.Import.Types,
Dhall.Util,
Paths_dhall
if flag(with-http)
Other-Modules:
Dhall.Import.HTTP
GHC-Options: -Wall -fwarn-incomplete-uni-patterns
Default-Language: Haskell2010
Executable dhall
Hs-Source-Dirs: dhall
Main-Is: Main.hs
Build-Depends: base, dhall
GHC-Options: -Wall -rtsopts
Default-Language: Haskell2010
Test-Suite tasty
Type: exitcode-stdio-1.0
Hs-Source-Dirs: tests
Main-Is: Dhall/Test/Main.hs
GHC-Options: -Wall
Other-Modules:
Dhall.Test.Format
Dhall.Test.Import
Dhall.Test.Lint
Dhall.Test.Normalization
Dhall.Test.Parser
Dhall.Test.QuickCheck
Dhall.Test.Regression
Dhall.Test.Tutorial
Dhall.Test.TypeCheck
Dhall.Test.Util
Build-Depends:
base >= 4 && < 5 ,
containers ,
deepseq >= 1.2.0.1 && < 1.5 ,
dhall ,
directory ,
filepath ,
prettyprinter ,
QuickCheck >= 2.10 && < 2.13,
quickcheck-instances >= 0.3.12 && < 0.4 ,
serialise ,
tasty >= 0.11.2 && < 1.3 ,
tasty-hunit >= 0.9.2 && < 0.11,
tasty-quickcheck >= 0.9.2 && < 0.11,
text >= 0.11.1.0 && < 1.3 ,
transformers ,
vector >= 0.11.0.0 && < 0.13
Default-Language: Haskell2010
Test-Suite doctest
Type: exitcode-stdio-1.0
Hs-Source-Dirs: doctest
Main-Is: Main.hs
GHC-Options: -Wall
Build-Depends:
base ,
directory ,
filepath < 1.5 ,
mockery < 0.4 ,
doctest >= 0.7.0 && < 0.17
Default-Language: Haskell2010
-- `doctest` doesn't work with `MIN_VERSION` macros before GHC 8
--
-- See: https://ghc.haskell.org/trac/ghc/ticket/10970
if impl(ghc < 8.0)
Buildable: False
Benchmark dhall-parser
Type: exitcode-stdio-1.0
Hs-Source-Dirs: benchmark/parser
Main-Is: Main.hs
Build-Depends:
base >= 4 && < 5 ,
bytestring ,
containers >= 0.5.0.0 && < 0.7,
criterion >= 1.1 && < 1.6,
dhall ,
directory ,
serialise ,
text >= 0.11.1.0 && < 1.3
Default-Language: Haskell2010
ghc-options: -rtsopts
Benchmark deep-nested-large-record
Type: exitcode-stdio-1.0
Hs-Source-Dirs: benchmark/deep-nested-large-record
Main-Is: Main.hs
Build-Depends:
base >= 4 && < 5 ,
containers >= 0.5.0.0 && < 0.7,
criterion >= 1.1 && < 1.6,
dhall
Default-Language: Haskell2010
Benchmark dhall-command
Type: exitcode-stdio-1.0
Main-Is: Main.hs
Hs-Source-Dirs: benchmark/dhall-command
Build-Depends:
base >= 4 && < 5 ,
dhall
Default-Language: Haskell2010
ghc-options: -rtsopts -O2
Benchmark map-operations
Type: exitcode-stdio-1.0
Main-Is: Main.hs
Hs-Source-Dirs: benchmark/map
Build-Depends:
base >= 4 && < 5 ,
criterion >= 1.1 && < 1.6,
dhall
Default-Language: Haskell2010
-- ghc-options: -rtsopts -O2