packages feed

dhall 1.31.0 → 1.31.1

raw patch · 256 files changed

+345/−54 lines, 256 filesdep ~replinedep ~template-haskellbinary-addedPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependency ranges changed: repline, template-haskell

API changes (from Hackage documentation)

- Dhall.Map: instance (Data.Data.Data a, Language.Haskell.TH.Syntax.Lift a) => Language.Haskell.TH.Syntax.Lift (Dhall.Map.Keys a)
- Dhall.Map: instance (Data.Data.Data k, Data.Data.Data v, Language.Haskell.TH.Syntax.Lift k, Language.Haskell.TH.Syntax.Lift v, GHC.Classes.Ord k) => Language.Haskell.TH.Syntax.Lift (Dhall.Map.Map k v)
+ Dhall: InputNormalizer :: ReifiedNormalizer Void -> InputNormalizer
+ Dhall: [getInputNormalizer] :: InputNormalizer -> ReifiedNormalizer Void
+ Dhall: defaultInputNormalizer :: InputNormalizer
+ Dhall: newtype InputNormalizer
+ Dhall.Map: instance (Language.Haskell.TH.Syntax.Lift k, Language.Haskell.TH.Syntax.Lift v) => Language.Haskell.TH.Syntax.Lift (Dhall.Map.Map k v)
+ Dhall.Map: instance Language.Haskell.TH.Syntax.Lift a => Language.Haskell.TH.Syntax.Lift (Dhall.Map.Keys a)

Files

CHANGELOG.md view
@@ -1,3 +1,23 @@+1.31.1++* BUG FIX: [Allow whitespace after record pun entry](https://github.com/dhall-lang/dhall-haskell/pull/1733)+    * The record pun feature introduced in the previous release did not+      correctly parse record puns with trailing whitespace, which this change+      fixes.+* [Expose `{default,}InputNormalizer`](https://github.com/dhall-lang/dhall-haskell/pull/1727)+    * The previous version introduced a breaking change to the `autoWith` type+      that required access to the implementation of `InputNormalizer`, which was+      not exported.  This change fixes that.+* Build against latest dependencies+    * [`QuickCheck-2.14`](https://github.com/dhall-lang/dhall-haskell/pull/1721)+    * [`haskell-lsp-0.21`](https://github.com/dhall-lang/dhall-haskell/pull/1730)+    * [`repline-0.3` / `haskeline-0.8`](https://github.com/dhall-lang/dhall-haskell/pull/1717)+    * [`template-haskell-2.16`](https://github.com/dhall-lang/dhall-haskell/pull/1719)+* [Prefer to format using record puns when possible](https://github.com/dhall-lang/dhall-haskell/pull/1729)+    * `dhall format` will now reformat code to use record puns when applicable+* Fixes and improvements to error messages:+    * [#1721](https://github.com/dhall-lang/dhall-haskell/pull/1724)+ 1.31.0  * [Supports version 15.0.0 of the standard](https://github.com/dhall-lang/dhall-lang/releases/tag/v15.0.0)
+ dhall-lang/tests/alpha-normalization/success/regression/preludeBoolFoldA.dhall view
@@ -0,0 +1,6 @@+-- For https://github.com/dhall-lang/dhall-haskell/issues/929+  λ(b : Bool)+→ λ(bool : Type)+→ λ(true : bool)+→ λ(false : bool)+→ if b then true else false
+ dhall-lang/tests/alpha-normalization/success/regression/preludeBoolFoldB.dhall view
@@ -0,0 +1,1 @@+λ(_ : Bool) → λ(_ : Type) → λ(_ : _) → λ(_ : _@1) → if _@3 then _@1 else _
+ dhall-lang/tests/binary-decode/success/unit/imports/EnvironmentVariableA.dhallb view

binary file changed (absent → 10 bytes)

+ dhall-lang/tests/binary-decode/success/unit/imports/EnvironmentVariableB.dhall view
@@ -0,0 +1,1 @@+env:FOO
+ dhall-lang/tests/binary-decode/success/unit/imports/HttpImportWithQueryA.dhallb view

binary file changed (absent → 41 bytes)

+ dhall-lang/tests/binary-decode/success/unit/imports/HttpImportWithQueryB.dhall view
@@ -0,0 +1,1 @@+http://foo:bar@baz:123/path1/path2?query
+ dhall-lang/tests/binary-decode/success/unit/imports/HttpImportWithoutQueryA.dhallb view

binary file changed (absent → 36 bytes)

+ dhall-lang/tests/binary-decode/success/unit/imports/HttpImportWithoutQueryB.dhall view
@@ -0,0 +1,1 @@+http://foo:bar@baz:123/path1/path2
+ dhall-lang/tests/binary-decode/success/unit/imports/HttpsImportWithEmptyQueryA.dhallb view

binary file changed (absent → 36 bytes)

+ dhall-lang/tests/binary-decode/success/unit/imports/HttpsImportWithEmptyQueryB.dhall view
@@ -0,0 +1,2 @@+{- an empty query string is not the same as an absent query string -}+https://foo:bar@baz:123/path1/path2?
+ dhall-lang/tests/binary-decode/success/unit/imports/HttpsImportWithQueryA.dhallb view

binary file changed (absent → 41 bytes)

+ dhall-lang/tests/binary-decode/success/unit/imports/HttpsImportWithQueryB.dhall view
@@ -0,0 +1,1 @@+https://foo:bar@baz:123/path1/path2?query
+ dhall-lang/tests/binary-decode/success/unit/imports/HttpsImportWithTrickyPathCharsA.dhallb view

binary file changed (absent → 46 bytes)

+ dhall-lang/tests/binary-decode/success/unit/imports/HttpsImportWithTrickyPathCharsB.dhall view
@@ -0,0 +1,1 @@+https://authority/path:with!funny-characters
+ dhall-lang/tests/binary-decode/success/unit/imports/HttpsImportWithTrickyQueryCharsA.dhallb view

binary file changed (absent → 32 bytes)

+ dhall-lang/tests/binary-decode/success/unit/imports/HttpsImportWithTrickyQueryCharsB.dhall view
@@ -0,0 +1,1 @@+https://authority/path?a%23b%5Bc
+ dhall-lang/tests/binary-decode/success/unit/imports/HttpsImportWithoutQueryA.dhallb view

binary file changed (absent → 36 bytes)

+ dhall-lang/tests/binary-decode/success/unit/imports/HttpsImportWithoutQueryB.dhall view
@@ -0,0 +1,1 @@+https://foo:bar@baz:123/path1/path2
+ dhall-lang/tests/binary-decode/success/unit/imports/LocalHereImportA.dhallb view

binary file changed (absent → 29 bytes)

+ dhall-lang/tests/binary-decode/success/unit/imports/LocalHereImportB.dhall view
@@ -0,0 +1,1 @@+./path0/path1/path2/file
+ dhall-lang/tests/binary-decode/success/unit/imports/LocalHomeImportA.dhallb view

binary file changed (absent → 29 bytes)

+ dhall-lang/tests/binary-decode/success/unit/imports/LocalHomeImportB.dhall view
@@ -0,0 +1,1 @@+~/path0/path1/path2/file
+ dhall-lang/tests/binary-decode/success/unit/imports/LocalParentImportA.dhallb view

binary file changed (absent → 29 bytes)

+ dhall-lang/tests/binary-decode/success/unit/imports/LocalParentImportB.dhall view
@@ -0,0 +1,1 @@+../path0/path1/path2/file
+ dhall-lang/tests/binary-decode/success/unit/imports/LocalRootImportA.dhallb view

binary file changed (absent → 29 bytes)

+ dhall-lang/tests/binary-decode/success/unit/imports/LocalRootImportB.dhall view
@@ -0,0 +1,1 @@+/path0/path1/path2/file
+ dhall-lang/tests/binary-decode/success/unit/imports/MissingA.dhallb view

binary file changed (absent → 6 bytes)

+ dhall-lang/tests/binary-decode/success/unit/imports/MissingB.dhall view
@@ -0,0 +1,1 @@+missing
+ dhall-lang/tests/import/failure/unit/EnvUnset.dhall view
@@ -0,0 +1,1 @@+env:DHALL_TEST_UNSET
+ dhall-lang/tests/import/failure/unit/EnvUnsetAsText.dhall view
@@ -0,0 +1,1 @@+env:DHALL_TEST_UNSET as Text
+ dhall-lang/tests/import/success/unit/AlternativeChain1A.dhall view
@@ -0,0 +1,1 @@+missing ? missing ? 42
+ dhall-lang/tests/import/success/unit/AlternativeChain1B.dhall view
@@ -0,0 +1,1 @@+42
+ dhall-lang/tests/import/success/unit/AlternativeChain2A.dhall view
@@ -0,0 +1,1 @@+missing ? 42 ? 10
+ dhall-lang/tests/import/success/unit/AlternativeChain2B.dhall view
@@ -0,0 +1,1 @@+42
+ dhall-lang/tests/import/success/unit/AlternativeEnvA.dhall view
@@ -0,0 +1,1 @@+env:DHALL_TEST_UNSET ? 42
+ dhall-lang/tests/import/success/unit/AlternativeEnvB.dhall view
@@ -0,0 +1,1 @@+42
+ dhall-lang/tests/import/success/unit/AlternativeHashMismatchA.dhall view
@@ -0,0 +1,1 @@+../../data/simple.dhall sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ? 42
+ dhall-lang/tests/import/success/unit/AlternativeHashMismatchB.dhall view
@@ -0,0 +1,1 @@+42
+ dhall-lang/tests/import/success/unit/AlternativeImportErrorA.dhall view
@@ -0,0 +1,1 @@+missing ? 42
+ dhall-lang/tests/import/success/unit/AlternativeImportErrorB.dhall view
@@ -0,0 +1,1 @@+42
+ dhall-lang/tests/import/success/unit/AlternativeNestedImportErrorA.dhall view
@@ -0,0 +1,1 @@+../../failure/missing.dhall ? 42
+ dhall-lang/tests/import/success/unit/AlternativeNestedImportErrorB.dhall view
@@ -0,0 +1,1 @@+42
+ dhall-lang/tests/import/success/unit/AlternativeNoError1A.dhall view
@@ -0,0 +1,1 @@+42 ? 10
+ dhall-lang/tests/import/success/unit/AlternativeNoError1B.dhall view
@@ -0,0 +1,1 @@+42
+ dhall-lang/tests/import/success/unit/AlternativeNoError2A.dhall view
@@ -0,0 +1,1 @@+42 ? missing
+ dhall-lang/tests/import/success/unit/AlternativeNoError2B.dhall view
@@ -0,0 +1,1 @@+42
+ dhall-lang/tests/import/success/unit/AlternativeNoError3A.dhall view
@@ -0,0 +1,1 @@+env:DHALL_TEST_VAR ? 10
+ dhall-lang/tests/import/success/unit/AlternativeNoError3B.dhall view
@@ -0,0 +1,1 @@+42
+ dhall-lang/tests/import/success/unit/AlternativeParseErrorA.dhall view
@@ -0,0 +1,1 @@+../../data/example.txt ? 42
+ dhall-lang/tests/import/success/unit/AlternativeParseErrorB.dhall view
@@ -0,0 +1,1 @@+42
+ dhall-lang/tests/import/success/unit/AlternativeSubExprA.dhall view
@@ -0,0 +1,1 @@+missing + 10 ? 42
+ dhall-lang/tests/import/success/unit/AlternativeSubExprB.dhall view
@@ -0,0 +1,1 @@+42
+ dhall-lang/tests/import/success/unit/AlternativeTypeErrorA.dhall view
@@ -0,0 +1,1 @@+../../data/doesNotTypecheck.dhall ? 42
+ dhall-lang/tests/import/success/unit/AlternativeTypeErrorB.dhall view
@@ -0,0 +1,1 @@+42
+ dhall-lang/tests/import/success/unit/AsTextA.dhall view
@@ -0,0 +1,1 @@+../../data/example.txt as Text
+ dhall-lang/tests/import/success/unit/AsTextB.dhall view
@@ -0,0 +1,3 @@+''+Hello, world!+''
+ dhall-lang/tests/import/success/unit/EnvSetA.dhall view
@@ -0,0 +1,1 @@+env:DHALL_TEST_VAR
+ dhall-lang/tests/import/success/unit/EnvSetAsTextA.dhall view
@@ -0,0 +1,1 @@+env:DHALL_TEST_VAR as Text
+ dhall-lang/tests/import/success/unit/EnvSetAsTextB.dhall view
@@ -0,0 +1,1 @@+"6 * 7"
+ dhall-lang/tests/import/success/unit/EnvSetB.dhall view
@@ -0,0 +1,1 @@+42
+ dhall-lang/tests/import/success/unit/NormalizeA.dhall view
@@ -0,0 +1,1 @@+../../../../../dhall-lang/tests/normalization/success/unit/OperatorPlusOneAndOneA.dhall
+ dhall-lang/tests/import/success/unit/NormalizeB.dhall view
@@ -0,0 +1,1 @@+2
+ dhall-lang/tests/import/success/unit/RemoteAsTextA.dhall view
@@ -0,0 +1,1 @@+https://raw.githubusercontent.com/dhall-lang/dhall-lang/0b983b92aa2222dc3e292c20550ee37dea3f41df/tests/import/data/example.txt as Text
+ dhall-lang/tests/import/success/unit/RemoteAsTextB.dhall view
@@ -0,0 +1,3 @@+''+Hello, world!+''
+ dhall-lang/tests/import/success/unit/SimpleA.dhall view
@@ -0,0 +1,1 @@+../../data/simple.dhall
+ dhall-lang/tests/import/success/unit/SimpleB.dhall view
@@ -0,0 +1,1 @@+3
+ dhall-lang/tests/import/success/unit/SimpleHashA.dhall view
@@ -0,0 +1,1 @@+../../data/simple.dhall sha256:15f52ecf91c94c1baac02d5a4964b2ed8fa401641a2c8a95e8306ec7c1e3b8d2
+ dhall-lang/tests/import/success/unit/SimpleHashB.dhall view
@@ -0,0 +1,1 @@+3
+ dhall-lang/tests/import/success/unit/SimpleRemoteA.dhall view
@@ -0,0 +1,1 @@+https://raw.githubusercontent.com/dhall-lang/dhall-lang/0b983b92aa2222dc3e292c20550ee37dea3f41df/tests/import/data/simple.dhall
+ dhall-lang/tests/import/success/unit/SimpleRemoteB.dhall view
@@ -0,0 +1,1 @@+3
+ dhall-lang/tests/import/success/unit/asLocation/AbsoluteA.dhall view
@@ -0,0 +1,1 @@+/absolute/import as Location
+ dhall-lang/tests/import/success/unit/asLocation/AbsoluteB.dhall view
@@ -0,0 +1,2 @@+< Environment : Text | Local : Text | Missing | Remote : Text >.Local+  "/absolute/import"
+ dhall-lang/tests/import/success/unit/asLocation/Canonicalize1A.dhall view
@@ -0,0 +1,1 @@+./foo/./bar/import.dhall as Location
+ dhall-lang/tests/import/success/unit/asLocation/Canonicalize1B.dhall view
@@ -0,0 +1,2 @@+< Environment : Text | Local : Text | Missing | Remote : Text >.Local+  "./dhall-lang/tests/import/success/unit/asLocation/foo/bar/import.dhall"
+ dhall-lang/tests/import/success/unit/asLocation/Canonicalize2A.dhall view
@@ -0,0 +1,1 @@+./foo/baz/../bar/import.dhall as Location
+ dhall-lang/tests/import/success/unit/asLocation/Canonicalize2B.dhall view
@@ -0,0 +1,2 @@+< Environment : Text | Local : Text | Missing | Remote : Text >.Local+  "./dhall-lang/tests/import/success/unit/asLocation/foo/bar/import.dhall"
+ dhall-lang/tests/import/success/unit/asLocation/Canonicalize3A.dhall view
@@ -0,0 +1,1 @@+./../bar/import.dhall as Location
+ dhall-lang/tests/import/success/unit/asLocation/Canonicalize3B.dhall view
@@ -0,0 +1,2 @@+< Environment : Text | Local : Text | Missing | Remote : Text >.Local+  "./dhall-lang/tests/import/success/unit/bar/import.dhall"
+ dhall-lang/tests/import/success/unit/asLocation/Canonicalize4A.dhall view
@@ -0,0 +1,1 @@+../../bar/import.dhall as Location
+ dhall-lang/tests/import/success/unit/asLocation/Canonicalize4B.dhall view
@@ -0,0 +1,2 @@+< Environment : Text | Local : Text | Missing | Remote : Text >.Local+  "./dhall-lang/tests/import/success/bar/import.dhall"
+ dhall-lang/tests/import/success/unit/asLocation/Canonicalize5A.dhall view
@@ -0,0 +1,1 @@+./foo/../../bar/import.dhall as Location
+ dhall-lang/tests/import/success/unit/asLocation/Canonicalize5B.dhall view
@@ -0,0 +1,2 @@+< Environment : Text | Local : Text | Missing | Remote : Text >.Local+  "./dhall-lang/tests/import/success/unit/bar/import.dhall"
+ dhall-lang/tests/import/success/unit/asLocation/Chain1A.dhall view
@@ -0,0 +1,1 @@+./Relative1A.dhall
+ dhall-lang/tests/import/success/unit/asLocation/Chain1B.dhall view
@@ -0,0 +1,2 @@+< Environment : Text | Local : Text | Missing | Remote : Text >.Local+  "./dhall-lang/tests/import/success/unit/asLocation/some/import.dhall"
+ dhall-lang/tests/import/success/unit/asLocation/Chain2A.dhall view
@@ -0,0 +1,1 @@+./Canonicalize4A.dhall
+ dhall-lang/tests/import/success/unit/asLocation/Chain2B.dhall view
@@ -0,0 +1,2 @@+< Environment : Text | Local : Text | Missing | Remote : Text >.Local+  "./dhall-lang/tests/import/success/bar/import.dhall"
+ dhall-lang/tests/import/success/unit/asLocation/Chain3A.dhall view
@@ -0,0 +1,1 @@+../asLocation/Canonicalize4A.dhall
+ dhall-lang/tests/import/success/unit/asLocation/Chain3B.dhall view
@@ -0,0 +1,2 @@+< Environment : Text | Local : Text | Missing | Remote : Text >.Local+  "./dhall-lang/tests/import/success/bar/import.dhall"
+ dhall-lang/tests/import/success/unit/asLocation/DontTryResolvingA.dhall view
@@ -0,0 +1,1 @@+(missing as Location) ? 42  -- `missing` fails as an import, but definitely resolves as Location
+ dhall-lang/tests/import/success/unit/asLocation/DontTryResolvingB.dhall view
@@ -0,0 +1,1 @@+< Environment : Text | Local : Text | Missing | Remote : Text >.Missing
+ dhall-lang/tests/import/success/unit/asLocation/EnvA.dhall view
@@ -0,0 +1,1 @@+env:DHALL_TEST_VAR as Location
+ dhall-lang/tests/import/success/unit/asLocation/EnvB.dhall view
@@ -0,0 +1,2 @@+< Environment : Text | Local : Text | Missing | Remote : Text >.Environment+  "DHALL_TEST_VAR"
+ dhall-lang/tests/import/success/unit/asLocation/HashA.dhall view
@@ -0,0 +1,6 @@+{-+  If you have set XDG_CACHE_HOME as described in tests/README.md, this hash will+  be available in the cache. Since this is an `as Location` test however, you+  mustn't use the cache value here.+-}+./some/import.dhall sha256:efc43103e49b56c5bf089db8e0365bbfc455b8a2f0dc6ee5727a3586f85969fd as Location
+ dhall-lang/tests/import/success/unit/asLocation/HashB.dhall view
@@ -0,0 +1,2 @@+< Environment : Text | Local : Text | Missing | Remote : Text >.Local+  "./dhall-lang/tests/import/success/unit/asLocation/some/import.dhall"
+ dhall-lang/tests/import/success/unit/asLocation/HomeA.dhall view
@@ -0,0 +1,1 @@+~/some/import.dhall as Location
+ dhall-lang/tests/import/success/unit/asLocation/HomeB.dhall view
@@ -0,0 +1,2 @@+< Environment : Text | Local : Text | Missing | Remote : Text >.Local+  "~/some/import.dhall"
+ dhall-lang/tests/import/success/unit/asLocation/MissingA.dhall view
@@ -0,0 +1,1 @@+missing as Location
+ dhall-lang/tests/import/success/unit/asLocation/MissingB.dhall view
@@ -0,0 +1,1 @@+< Environment : Text | Local : Text | Missing | Remote : Text >.Missing
+ dhall-lang/tests/import/success/unit/asLocation/Relative1A.dhall view
@@ -0,0 +1,1 @@+./some/import.dhall as Location
+ dhall-lang/tests/import/success/unit/asLocation/Relative1B.dhall view
@@ -0,0 +1,2 @@+< Environment : Text | Local : Text | Missing | Remote : Text >.Local+  "./dhall-lang/tests/import/success/unit/asLocation/some/import.dhall"
+ dhall-lang/tests/import/success/unit/asLocation/Relative2A.dhall view
@@ -0,0 +1,1 @@+../some/import.dhall as Location
+ dhall-lang/tests/import/success/unit/asLocation/Relative2B.dhall view
@@ -0,0 +1,2 @@+< Environment : Text | Local : Text | Missing | Remote : Text >.Local+  "./dhall-lang/tests/import/success/unit/some/import.dhall"
+ dhall-lang/tests/import/success/unit/asLocation/RemoteA.dhall view
@@ -0,0 +1,1 @@+https://example.com/foo/import.dhall as Location
+ dhall-lang/tests/import/success/unit/asLocation/RemoteB.dhall view
@@ -0,0 +1,2 @@+< Environment : Text | Local : Text | Missing | Remote : Text >.Remote+  "https://example.com/foo/import.dhall"
+ dhall-lang/tests/import/success/unit/asLocation/RemoteCanonicalize1A.dhall view
@@ -0,0 +1,1 @@+https://example.com/foo/./bar/import.dhall as Location
+ dhall-lang/tests/import/success/unit/asLocation/RemoteCanonicalize1B.dhall view
@@ -0,0 +1,2 @@+< Environment : Text | Local : Text | Missing | Remote : Text >.Remote+  "https://example.com/foo/bar/import.dhall"
+ dhall-lang/tests/import/success/unit/asLocation/RemoteCanonicalize2A.dhall view
@@ -0,0 +1,1 @@+https://example.com/foo/bar/../baz/import.dhall as Location
+ dhall-lang/tests/import/success/unit/asLocation/RemoteCanonicalize2B.dhall view
@@ -0,0 +1,2 @@+< Environment : Text | Local : Text | Missing | Remote : Text >.Remote+  "https://example.com/foo/baz/import.dhall"
+ dhall-lang/tests/import/success/unit/asLocation/RemoteCanonicalize3A.dhall view
@@ -0,0 +1,1 @@+https://example.com/foo/bar/../../baz/import.dhall as Location
+ dhall-lang/tests/import/success/unit/asLocation/RemoteCanonicalize3B.dhall view
@@ -0,0 +1,2 @@+< Environment : Text | Local : Text | Missing | Remote : Text >.Remote+  "https://example.com/baz/import.dhall"
+ dhall-lang/tests/import/success/unit/asLocation/RemoteCanonicalize4A.dhall view
@@ -0,0 +1,4 @@+{-+  The standardized behaviour does not respect https://tools.ietf.org/html/rfc3986#section-5.2 .+-}+https://example.com/../bar/import.dhall as Location
+ dhall-lang/tests/import/success/unit/asLocation/RemoteCanonicalize4B.dhall view
@@ -0,0 +1,2 @@+< Environment : Text | Local : Text | Missing | Remote : Text >.Remote+  "https://example.com/../bar/import.dhall"
+ dhall-lang/tests/import/success/unit/asLocation/RemoteChain1A.dhall view
@@ -0,0 +1,1 @@+https://raw.githubusercontent.com/dhall-lang/dhall-lang/0b983b92aa2222dc3e292c20550ee37dea3f41df/tests/import/data/simpleLocation.dhall
+ dhall-lang/tests/import/success/unit/asLocation/RemoteChain1B.dhall view
@@ -0,0 +1,2 @@+< Environment : Text | Local : Text | Missing | Remote : Text >.Remote+  "https://raw.githubusercontent.com/dhall-lang/dhall-lang/0b983b92aa2222dc3e292c20550ee37dea3f41df/tests/import/data/simple.dhall"
+ dhall-lang/tests/import/success/unit/asLocation/RemoteChain2A.dhall view
@@ -0,0 +1,1 @@+https://raw.githubusercontent.com/Nadrieril/dhall-rust/f7d8c64a9799f139ad65427c2518376adb9e2e2f/dhall/tests/import/success/unit/asLocation/Canonicalize3A.dhall
+ dhall-lang/tests/import/success/unit/asLocation/RemoteChain2B.dhall view
@@ -0,0 +1,2 @@+< Environment : Text | Local : Text | Missing | Remote : Text >.Remote+  "https://raw.githubusercontent.com/Nadrieril/dhall-rust/f7d8c64a9799f139ad65427c2518376adb9e2e2f/dhall/tests/import/success/unit/bar/import.dhall"
+ dhall-lang/tests/import/success/unit/asLocation/RemoteChain3A.dhall view
@@ -0,0 +1,1 @@+https://raw.githubusercontent.com/Nadrieril/dhall-rust/f7d8c64a9799f139ad65427c2518376adb9e2e2f/dhall/tests/import/success/unit/asLocation/Canonicalize5A.dhall
+ dhall-lang/tests/import/success/unit/asLocation/RemoteChain3B.dhall view
@@ -0,0 +1,2 @@+< Environment : Text | Local : Text | Missing | Remote : Text >.Remote+  "https://raw.githubusercontent.com/Nadrieril/dhall-rust/f7d8c64a9799f139ad65427c2518376adb9e2e2f/dhall/tests/import/success/unit/bar/import.dhall"
+ dhall-lang/tests/import/success/unit/asLocation/RemoteChainEnvA.dhall view
@@ -0,0 +1,5 @@+{-+    This test verifies that `env:VAR as Location` isn't rejected as referentially opaque,+    as `env:VAR` on its own would.+-}+https://raw.githubusercontent.com/Nadrieril/dhall-rust/f7d8c64a9799f139ad65427c2518376adb9e2e2f/dhall/tests/import/success/unit/asLocation/EnvA.dhall
+ dhall-lang/tests/import/success/unit/asLocation/RemoteChainEnvB.dhall view
@@ -0,0 +1,2 @@+< Environment : Text | Local : Text | Missing | Remote : Text >.Environment+  "HOME"
+ dhall-lang/tests/import/success/unit/asLocation/RemoteChainMissingA.dhall view
@@ -0,0 +1,6 @@+{- This test verifies that `missing as Location` succeeds when chained since:+   * The `missing` is never actually resolved (due to the `as Location`)+   * The `missing` should be treated as referentially transparent (and therefore+     be a valid transitive dependency of a remote import)+-}+https://raw.githubusercontent.com/Nadrieril/dhall-rust/f7d8c64a9799f139ad65427c2518376adb9e2e2f/dhall/tests/import/success/unit/asLocation/MissingA.dhall
+ dhall-lang/tests/import/success/unit/asLocation/RemoteChainMissingB.dhall view
@@ -0,0 +1,1 @@+< Environment : Text | Local : Text | Missing | Remote : Text >.Missing
+ dhall-lang/tests/normalization/success/regression/NaturalFoldExtraArgA.dhall view
@@ -0,0 +1,2 @@+{- Checks that builtins don't accidentally discard further arguments than their arity -}+Natural/fold 0 (Bool -> Bool) (λ(_ : (Bool -> Bool)) → λ(_ : Bool) → True) (λ(_ : Bool) → False) True
+ dhall-lang/tests/normalization/success/regression/NaturalFoldExtraArgB.dhall view
@@ -0,0 +1,1 @@+False
+ dhall-lang/tests/normalization/success/regression/TrickyBinderIdentityA.dhall view
@@ -0,0 +1,1 @@+let T = Natural let ap = λ(f : T → List T) -> λ(x : T) -> f x in ap (λ(x : T) -> ap (λ(y : T) -> [x, y]) 1) 0
+ dhall-lang/tests/normalization/success/regression/TrickyBinderIdentityB.dhall view
@@ -0,0 +1,1 @@+[ 0, 1 ]
+ dhall-lang/tests/parser/failure/spacing/AnnotationNoSpace.dhall view
@@ -0,0 +1,1 @@+x :T
+ dhall-lang/tests/parser/failure/spacing/ApplicationNoSpace1.dhall view
@@ -0,0 +1,1 @@+f(x)
+ dhall-lang/tests/parser/failure/spacing/ApplicationNoSpace2.dhall view
@@ -0,0 +1,2 @@+-- There needs to be a space between a function and its argument+./example.dhall[1]
+ dhall-lang/tests/parser/failure/spacing/AssertNoSpace.dhall view
@@ -0,0 +1,1 @@+assert :T
+ dhall-lang/tests/parser/failure/spacing/ForallNoSpace.dhall view
@@ -0,0 +1,1 @@+forall(x :T) -> x
+ dhall-lang/tests/parser/failure/spacing/HeadersNoSpace.dhall view
@@ -0,0 +1,1 @@+https://example.com/foo using(x)
+ dhall-lang/tests/parser/failure/spacing/IfNoSpace1.dhall view
@@ -0,0 +1,1 @@+if(b) then x else y
+ dhall-lang/tests/parser/failure/spacing/IfNoSpace2.dhall view
@@ -0,0 +1,1 @@+if b then(x) else y
+ dhall-lang/tests/parser/failure/spacing/IfNoSpace3.dhall view
@@ -0,0 +1,1 @@+if b then x else(y)
+ dhall-lang/tests/parser/failure/spacing/ImportAltNoSpace.dhall view
@@ -0,0 +1,1 @@+x ?y
+ dhall-lang/tests/parser/failure/spacing/ImportHashedNoSpace.dhall view
@@ -0,0 +1,1 @@+missingsha256:0000000000000000000000000000000000000000000000000000000000000000
+ dhall-lang/tests/parser/failure/spacing/LambdaNoSpace.dhall view
@@ -0,0 +1,1 @@+\(x :T) -> x
+ dhall-lang/tests/parser/failure/spacing/LetAnnotNoSpace.dhall view
@@ -0,0 +1,1 @@+let x :T = y in e
+ dhall-lang/tests/parser/failure/spacing/LetNoSpace1.dhall view
@@ -0,0 +1,1 @@+letx = y in e
+ dhall-lang/tests/parser/failure/spacing/LetNoSpace2.dhall view
@@ -0,0 +1,1 @@+let x = y in(e)
+ dhall-lang/tests/parser/failure/spacing/ListLitEmptyNoSpace.dhall view
@@ -0,0 +1,1 @@+[] :T
+ dhall-lang/tests/parser/failure/spacing/MergeAnnotationNoSpace3.dhall view
@@ -0,0 +1,1 @@+merge x y :T
+ dhall-lang/tests/parser/failure/spacing/MergeNoSpace1.dhall view
@@ -0,0 +1,1 @@+merge(x) y
+ dhall-lang/tests/parser/failure/spacing/MergeNoSpace2.dhall view
@@ -0,0 +1,1 @@+merge x(y)
+ dhall-lang/tests/parser/failure/spacing/NaturalPlusNoSpace.dhall view
@@ -0,0 +1,1 @@+x +y
+ dhall-lang/tests/parser/failure/spacing/RecordTypeNoSpace.dhall view
@@ -0,0 +1,1 @@+{ x :T }
+ dhall-lang/tests/parser/failure/spacing/SomeNoSpace.dhall view
@@ -0,0 +1,1 @@+Some(x)
+ dhall-lang/tests/parser/failure/spacing/ToMapAnnotNoSpace.dhall view
@@ -0,0 +1,1 @@+toMap x :T
+ dhall-lang/tests/parser/failure/spacing/ToMapNoSpace.dhall view
@@ -0,0 +1,1 @@+toMap(x)
+ dhall-lang/tests/parser/failure/spacing/UnionTypeNoSpace.dhall view
@@ -0,0 +1,1 @@+< x :T >
+ dhall-lang/tests/parser/failure/unit/AssertNoAnnotation.dhall view
@@ -0,0 +1,1 @@+assert
+ dhall-lang/tests/parser/failure/unit/BoolLitTrueWithIndex.dhall view
@@ -0,0 +1,1 @@+True@0
+ dhall-lang/tests/parser/failure/unit/BuiltinBoolWithIndex.dhall view
@@ -0,0 +1,1 @@+Bool@1
+ dhall-lang/tests/parser/failure/unit/BuiltinTypeWithIndex.dhall view
@@ -0,0 +1,1 @@+Type@0
+ dhall-lang/tests/parser/failure/unit/ImportEnvWrongEscape.dhall view
@@ -0,0 +1,1 @@+env:"\$"
+ dhall-lang/tests/parser/failure/unit/ListLitEmptyAnnotation.dhall view
@@ -0,0 +1,1 @@+([]) : List T
+ dhall-lang/tests/parser/failure/unit/ListLitEmptyMissingAnnotation.dhall view
@@ -0,0 +1,1 @@+[]
+ dhall-lang/tests/parser/failure/unit/MergeAlone.dhall view
@@ -0,0 +1,1 @@+merge
+ dhall-lang/tests/parser/failure/unit/MergeOneArgument.dhall view
@@ -0,0 +1,1 @@+merge x
+ dhall-lang/tests/parser/failure/unit/NaturalLitLeadingZero.dhall view
@@ -0,0 +1,1 @@+042
+ dhall-lang/tests/parser/failure/unit/OldUnionLitSyntax.dhall view
@@ -0,0 +1,1 @@+< x = 3 | y : Bool >
+ dhall-lang/tests/parser/failure/unit/RecordLitPunDotted.dhall view
@@ -0,0 +1,1 @@+{ x.y.z }
+ dhall-lang/tests/parser/failure/unit/RecordTypeTrailingComma.dhall view
@@ -0,0 +1,1 @@+{ x: T, }
+ dhall-lang/tests/parser/failure/unit/SomeAlone.dhall view
@@ -0,0 +1,1 @@+Some
+ dhall-lang/tests/parser/failure/unit/UsingToMap.dhall view
@@ -0,0 +1,8 @@+{-  At one point the Haskell implementation permitted this idiom, which was not+    standards-compliant++    The problem with the following expression is that the argument to `using`+    is parsed as a `completionExpression`, which means that any use of `toMap`+    within a `using` clause must be parenthesized+-}+https://example.com using toMap { Foo = "Bar" }
+ dhall-lang/tests/parser/success/unit/operators/BoolAndA.dhall view
@@ -0,0 +1,1 @@+x && y
+ dhall-lang/tests/parser/success/unit/operators/BoolAndAssocA.dhall view
@@ -0,0 +1,1 @@+w && x && y && z
+ dhall-lang/tests/parser/success/unit/operators/BoolAndAssocB.dhallb view

binary file changed (absent → 25 bytes)

+ dhall-lang/tests/parser/success/unit/operators/BoolAndB.dhallb view

binary file changed (absent → 11 bytes)

+ dhall-lang/tests/parser/success/unit/operators/BoolEQA.dhall view
@@ -0,0 +1,1 @@+x == y
+ dhall-lang/tests/parser/success/unit/operators/BoolEQAssocA.dhall view
@@ -0,0 +1,1 @@+w == x == y == z
+ dhall-lang/tests/parser/success/unit/operators/BoolEQAssocB.dhallb view

binary file changed (absent → 25 bytes)

+ dhall-lang/tests/parser/success/unit/operators/BoolEQB.dhallb view

binary file changed (absent → 11 bytes)

+ dhall-lang/tests/parser/success/unit/operators/BoolNEA.dhall view
@@ -0,0 +1,1 @@+x != y
+ dhall-lang/tests/parser/success/unit/operators/BoolNEAssocA.dhall view
@@ -0,0 +1,1 @@+w != x != y != z
+ dhall-lang/tests/parser/success/unit/operators/BoolNEAssocB.dhallb view

binary file changed (absent → 25 bytes)

+ dhall-lang/tests/parser/success/unit/operators/BoolNEB.dhallb view

binary file changed (absent → 11 bytes)

+ dhall-lang/tests/parser/success/unit/operators/BoolOrA.dhall view
@@ -0,0 +1,1 @@+x || y
+ dhall-lang/tests/parser/success/unit/operators/BoolOrAssocA.dhall view
@@ -0,0 +1,1 @@+w || x || y || z
+ dhall-lang/tests/parser/success/unit/operators/BoolOrAssocB.dhallb view

binary file changed (absent → 25 bytes)

+ dhall-lang/tests/parser/success/unit/operators/BoolOrB.dhallb view

binary file changed (absent → 11 bytes)

+ dhall-lang/tests/parser/success/unit/operators/EquivalenceA.dhall view
@@ -0,0 +1,1 @@+x === y
+ dhall-lang/tests/parser/success/unit/operators/EquivalenceB.dhallb view

binary file changed (absent → 11 bytes)

+ dhall-lang/tests/parser/success/unit/operators/ImportAltA.dhall view
@@ -0,0 +1,1 @@+x ? y
+ dhall-lang/tests/parser/success/unit/operators/ImportAltAssocA.dhall view
@@ -0,0 +1,1 @@+w ? x ? y ? z
+ dhall-lang/tests/parser/success/unit/operators/ImportAltAssocB.dhallb view

binary file changed (absent → 25 bytes)

+ dhall-lang/tests/parser/success/unit/operators/ImportAltB.dhallb view

binary file changed (absent → 11 bytes)

+ dhall-lang/tests/parser/success/unit/operators/ListAppendA.dhall view
@@ -0,0 +1,1 @@+x # y
+ dhall-lang/tests/parser/success/unit/operators/ListAppendAssocA.dhall view
@@ -0,0 +1,1 @@+w # x # y # z
+ dhall-lang/tests/parser/success/unit/operators/ListAppendAssocB.dhallb view

binary file changed (absent → 25 bytes)

+ dhall-lang/tests/parser/success/unit/operators/ListAppendB.dhallb view

binary file changed (absent → 11 bytes)

+ dhall-lang/tests/parser/success/unit/operators/NaturalPlusA.dhall view
@@ -0,0 +1,1 @@+x + y
+ dhall-lang/tests/parser/success/unit/operators/NaturalPlusAssocA.dhall view
@@ -0,0 +1,1 @@+w + x + y + z
+ dhall-lang/tests/parser/success/unit/operators/NaturalPlusAssocB.dhallb view

binary file changed (absent → 25 bytes)

+ dhall-lang/tests/parser/success/unit/operators/NaturalPlusB.dhallb view

binary file changed (absent → 11 bytes)

+ dhall-lang/tests/parser/success/unit/operators/NaturalTimesA.dhall view
@@ -0,0 +1,1 @@+x * y
+ dhall-lang/tests/parser/success/unit/operators/NaturalTimesAssocA.dhall view
@@ -0,0 +1,1 @@+w * x * y * z
+ dhall-lang/tests/parser/success/unit/operators/NaturalTimesAssocB.dhallb view

binary file changed (absent → 25 bytes)

+ dhall-lang/tests/parser/success/unit/operators/NaturalTimesB.dhallb view

binary file changed (absent → 11 bytes)

+ dhall-lang/tests/parser/success/unit/operators/PrecedenceBoolA.dhall view
@@ -0,0 +1,1 @@+a && b || c d == e || f != g && h || i
+ dhall-lang/tests/parser/success/unit/operators/PrecedenceBoolB.dhallb view

binary file changed (absent → 59 bytes)

+ dhall-lang/tests/parser/success/unit/operators/PrecedenceNatA.dhall view
@@ -0,0 +1,1 @@+a + b * d + e f * (g + h)
+ dhall-lang/tests/parser/success/unit/operators/PrecedenceNatB.dhallb view

binary file changed (absent → 45 bytes)

+ dhall-lang/tests/parser/success/unit/operators/PrecedenceRecordA.dhall view
@@ -0,0 +1,1 @@+a // b c /\ d ⫽ e.{x} ∧ f
+ dhall-lang/tests/parser/success/unit/operators/PrecedenceRecordB.dhallb view

binary file changed (absent → 42 bytes)

+ dhall-lang/tests/parser/success/unit/operators/RecursiveRecordMergeA.dhall view
@@ -0,0 +1,1 @@+x //\\ y
+ dhall-lang/tests/parser/success/unit/operators/RecursiveRecordMergeAssocA.dhall view
@@ -0,0 +1,1 @@+w //\\ x //\\ y //\\ z
+ dhall-lang/tests/parser/success/unit/operators/RecursiveRecordMergeAssocB.dhallb view

binary file changed (absent → 25 bytes)

+ dhall-lang/tests/parser/success/unit/operators/RecursiveRecordMergeB.dhallb view

binary file changed (absent → 11 bytes)

+ dhall-lang/tests/parser/success/unit/operators/RecursiveRecordMergeUnicodeA.dhall view
@@ -0,0 +1,1 @@+x ∧ y
+ dhall-lang/tests/parser/success/unit/operators/RecursiveRecordMergeUnicodeAssocA.dhall view
@@ -0,0 +1,1 @@+w ∧ x /\ y ∧ z
+ dhall-lang/tests/parser/success/unit/operators/RecursiveRecordMergeUnicodeAssocB.dhallb view

binary file changed (absent → 25 bytes)

+ dhall-lang/tests/parser/success/unit/operators/RecursiveRecordMergeUnicodeB.dhallb view

binary file changed (absent → 11 bytes)

+ dhall-lang/tests/parser/success/unit/operators/RecursiveRecordTypeMergeA.dhall view
@@ -0,0 +1,1 @@+x /\ y
+ dhall-lang/tests/parser/success/unit/operators/RecursiveRecordTypeMergeAssocA.dhall view
@@ -0,0 +1,1 @@+w /\ x /\ y /\ z
+ dhall-lang/tests/parser/success/unit/operators/RecursiveRecordTypeMergeAssocB.dhallb view

binary file changed (absent → 25 bytes)

+ dhall-lang/tests/parser/success/unit/operators/RecursiveRecordTypeMergeB.dhallb view

binary file changed (absent → 11 bytes)

+ dhall-lang/tests/parser/success/unit/operators/RecursiveRecordTypeMergeUnicodeA.dhall view
@@ -0,0 +1,1 @@+x ⩓ y
+ dhall-lang/tests/parser/success/unit/operators/RecursiveRecordTypeMergeUnicodeAssocA.dhall view
@@ -0,0 +1,1 @@+w ⩓ x //\\ y ⩓ z
+ dhall-lang/tests/parser/success/unit/operators/RecursiveRecordTypeMergeUnicodeAssocB.dhallb view

binary file changed (absent → 25 bytes)

+ dhall-lang/tests/parser/success/unit/operators/RecursiveRecordTypeMergeUnicodeB.dhallb view

binary file changed (absent → 11 bytes)

+ dhall-lang/tests/parser/success/unit/operators/RightBiasedRecordMergeA.dhall view
@@ -0,0 +1,1 @@+x // y
+ dhall-lang/tests/parser/success/unit/operators/RightBiasedRecordMergeAssocA.dhall view
@@ -0,0 +1,1 @@+w // x // y // z
+ dhall-lang/tests/parser/success/unit/operators/RightBiasedRecordMergeAssocB.dhallb view

binary file changed (absent → 25 bytes)

+ dhall-lang/tests/parser/success/unit/operators/RightBiasedRecordMergeB.dhallb view

binary file changed (absent → 11 bytes)

+ dhall-lang/tests/parser/success/unit/operators/RightBiasedRecordMergeUnicodeA.dhall view
@@ -0,0 +1,1 @@+x ⫽ y
+ dhall-lang/tests/parser/success/unit/operators/RightBiasedRecordMergeUnicodeAssocA.dhall view
@@ -0,0 +1,1 @@+w ⫽ x // y ⫽ z
+ dhall-lang/tests/parser/success/unit/operators/RightBiasedRecordMergeUnicodeAssocB.dhallb view

binary file changed (absent → 25 bytes)

+ dhall-lang/tests/parser/success/unit/operators/RightBiasedRecordMergeUnicodeB.dhallb view

binary file changed (absent → 11 bytes)

+ dhall-lang/tests/parser/success/unit/operators/TextAppendA.dhall view
@@ -0,0 +1,1 @@+x ++ y
+ dhall-lang/tests/parser/success/unit/operators/TextAppendAssocA.dhall view
@@ -0,0 +1,1 @@+w ++ x ++ y ++ z
+ dhall-lang/tests/parser/success/unit/operators/TextAppendAssocB.dhallb view

binary file changed (absent → 25 bytes)

+ dhall-lang/tests/parser/success/unit/operators/TextAppendB.dhallb view

binary file changed (absent → 11 bytes)

+ dhall-lang/tests/type-inference/success/regression/LambdaInLetScoping1A.dhall view
@@ -0,0 +1,1 @@+let T = 0 in λ(T : Type) → λ(x : T) → 1
+ dhall-lang/tests/type-inference/success/regression/LambdaInLetScoping1B.dhall view
@@ -0,0 +1,1 @@+∀(T : Type) → ∀(x : T) → Natural
+ dhall-lang/tests/type-inference/success/regression/LambdaInLetScoping2A.dhall view
@@ -0,0 +1,1 @@+(λ(T : Type) → let x = 0 in λ(x : T) → x) : ∀(T : Type) → ∀(x : T) → T
+ dhall-lang/tests/type-inference/success/regression/LambdaInLetScoping2B.dhall view
@@ -0,0 +1,1 @@+∀(T : Type) → ∀(x : T) → T
+ dhall-lang/tests/type-inference/success/regression/RecursiveRecordTypeMergeTripleCollisionA.dhall view
@@ -0,0 +1,1 @@+{ x : { a : Bool } } ⩓ { x : { b : Bool } } ⩓ { x : { c : Bool } }
+ dhall-lang/tests/type-inference/success/regression/RecursiveRecordTypeMergeTripleCollisionB.dhall view
@@ -0,0 +1,1 @@+Type
+ dhall-lang/tests/type-inference/success/regression/TodoA.dhall view
@@ -0,0 +1,1 @@+λ(todo : ∀(a : Type) → a) → todo
+ dhall-lang/tests/type-inference/success/regression/TodoB.dhall view
@@ -0,0 +1,1 @@+∀(todo : ∀(a : Type) → a) → ∀(a : Type) → a
dhall.cabal view
@@ -1,5 +1,5 @@ Name: dhall-Version: 1.31.0+Version: 1.31.1 Cabal-Version: >=1.10 Build-Type: Simple Tested-With: GHC == 8.2.2, GHC == 8.4.3, GHC == 8.6.1@@ -178,29 +178,40 @@     dhall-lang/Prelude/XML/text     dhall-lang/Prelude/package.dhall     dhall-lang/tests/alpha-normalization/success/unit/*.dhall+    dhall-lang/tests/alpha-normalization/success/regression/*.dhall     dhall-lang/tests/binary-decode/failure/unit/*.dhallb     dhall-lang/tests/binary-decode/success/unit/*.dhall     dhall-lang/tests/binary-decode/success/unit/*.dhallb+    dhall-lang/tests/binary-decode/success/unit/imports/*.dhall+    dhall-lang/tests/binary-decode/success/unit/imports/*.dhallb     dhall-lang/tests/import/cache/dhall/1220efc43103e49b56c5bf089db8e0365bbfc455b8a2f0dc6ee5727a3586f85969fd     dhall-lang/tests/import/data/*.dhall     dhall-lang/tests/import/data/*.txt     dhall-lang/tests/import/failure/*.dhall+    dhall-lang/tests/import/failure/unit/*.dhall     dhall-lang/tests/import/success/*.dhall+    dhall-lang/tests/import/success/unit/*.dhall+    dhall-lang/tests/import/success/unit/asLocation/*.dhall     dhall-lang/tests/normalization/success/*.dhall     dhall-lang/tests/normalization/success/haskell-tutorial/access/*.dhall     dhall-lang/tests/normalization/success/haskell-tutorial/combineTypes/*.dhall     dhall-lang/tests/normalization/success/haskell-tutorial/prefer/*.dhall     dhall-lang/tests/normalization/success/haskell-tutorial/projection/*.dhall+    dhall-lang/tests/normalization/success/regression/*.dhall     dhall-lang/tests/normalization/success/simple/*.dhall     dhall-lang/tests/normalization/success/simplifications/*.dhall     dhall-lang/tests/normalization/success/unit/*.dhall     dhall-lang/tests/parser/failure/*.dhall+    dhall-lang/tests/parser/failure/spacing/*.dhall+    dhall-lang/tests/parser/failure/unit/*.dhall     dhall-lang/tests/parser/success/*.dhall     dhall-lang/tests/parser/success/*.dhallb     dhall-lang/tests/parser/success/text/*.dhall     dhall-lang/tests/parser/success/text/*.dhallb     dhall-lang/tests/parser/success/unit/*.dhall     dhall-lang/tests/parser/success/unit/*.dhallb+    dhall-lang/tests/parser/success/unit/operators/*.dhall+    dhall-lang/tests/parser/success/unit/operators/*.dhallb     dhall-lang/tests/parser/success/unit/import/*.dhall     dhall-lang/tests/parser/success/unit/import/*.dhallb     dhall-lang/tests/parser/success/unit/import/urls/*.dhall@@ -398,6 +409,7 @@     dhall-lang/tests/type-inference/success/prelude/Text/concatMap/*.dhall     dhall-lang/tests/type-inference/success/prelude/Text/concatMapSep/*.dhall     dhall-lang/tests/type-inference/success/prelude/Text/concatSep/*.dhall+    dhall-lang/tests/type-inference/success/regression/*.dhall     dhall-lang/tests/type-inference/success/simple/*.dhall     dhall-lang/tests/type-inference/success/simple/access/*.dhall     dhall-lang/tests/type-inference/success/unit/*.dhall@@ -462,10 +474,10 @@         prettyprinter-ansi-terminal >= 1.1.1    && < 1.2 ,         pretty-simple                              < 4   ,         profunctors                 >= 3.1.2    && < 5.6 ,-        repline                     >= 0.2.1.0  && < 0.3 ,+        repline                     >= 0.2.1.0  && < 0.4 ,         serialise                   >= 0.2.0.0  && < 0.3 ,         scientific                  >= 0.3.0.0  && < 0.4 ,-        template-haskell            >= 2.11.1.0 && < 2.16,+        template-haskell            >= 2.11.1.0 && < 2.17,         text                        >= 0.11.1.0 && < 1.3 ,         text-manipulate             >= 0.2.0.1  && < 0.3 ,         th-lift-instances           >= 0.1.13   && < 0.2 ,@@ -622,7 +634,7 @@         lens-family-core                               ,         megaparsec                                     ,         prettyprinter                                  ,-        QuickCheck                >= 2.10     && < 2.14,+        QuickCheck                >= 2.10     && < 2.15,         quickcheck-instances      >= 0.3.12   && < 0.4 ,         scientific                                     ,         semigroups                                     ,
src/Dhall.hs view
@@ -61,6 +61,8 @@     , genericAuto     , genericAutoWith     , InterpretOptions(..)+    , InputNormalizer(..)+    , defaultInputNormalizer     , SingletonConstructors(..)     , defaultInterpretOptions     , bool@@ -1346,6 +1348,7 @@ newtype InputNormalizer = InputNormalizer   { getInputNormalizer :: Dhall.Core.ReifiedNormalizer Void } +-- | Default normalization-related settings (no custom normalization) defaultInputNormalizer :: InputNormalizer defaultInputNormalizer = InputNormalizer  { getInputNormalizer = Dhall.Core.ReifiedNormalizer (const (pure Nothing)) }
src/Dhall/Map.hs view
@@ -2,6 +2,7 @@ {-# LANGUAGE DeriveAnyClass     #-} {-# LANGUAGE DeriveDataTypeable #-} {-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE DeriveLift         #-} {-# LANGUAGE DeriveTraversable  #-} {-# LANGUAGE RecordWildCards    #-} {-# LANGUAGE TypeFamilies       #-}@@ -80,7 +81,6 @@ import qualified Data.Map import qualified Data.Set import qualified GHC.Exts-import qualified Language.Haskell.TH.Syntax as Syntax import qualified Prelude  {-| A `Map` that remembers the original ordering of keys@@ -91,18 +91,12 @@     and also to improve performance -} data Map k v = Map (Data.Map.Map k v) (Keys k)-    deriving (Data, Generic, NFData)--instance (Data k, Data v, Lift k, Lift v, Ord k) => Lift (Map k v) where-    lift = Syntax.liftData+    deriving (Data, Generic, Lift, NFData)  data Keys a     = Sorted     | Original [a]-    deriving (Data, Generic, NFData)--instance (Data a, Lift a) => Lift (Keys a) where-    lift = Syntax.liftData+    deriving (Data, Generic, Lift, NFData)  instance (Ord k, Eq v) => Eq (Map k v) where   m1 == m2 =
src/Dhall/Parser/Expression.hs view
@@ -772,8 +772,6 @@                              value <- expression -                            whitespace-                             let cons key (key', values) =                                     (key, RecordLit [ (key', values) ]) @@ -786,7 +784,7 @@                                 x :| [] -> return (x, Var (V x 0))                                 _       -> empty -                    normalRecordEntry <|> punnedEntry+                    (normalRecordEntry <|> punnedEntry) <* whitespace              let nonEmptyRecordLiteral = do                     as <- Text.Megaparsec.sepBy1 keysValue (_comma *> whitespace)
src/Dhall/Pretty/Internal.hs view
@@ -64,7 +64,7 @@     ) where  import Data.Foldable-import Data.List.NonEmpty (NonEmpty)+import Data.List.NonEmpty (NonEmpty(..)) import Data.Monoid ((<>)) import Data.Text (Text) import Data.Text.Prettyprint.Doc (Doc, Pretty, space)@@ -1324,7 +1324,14 @@       where         consolidated = consolidateRecordLiteral a -        prettyRecordEntry = prettyKeyValue prettyAnyLabels equals+        prettyRecordEntry (keys, value) =+            case keys of+                key :| []+                    | Var (V key' 0) <- Dhall.Syntax.shallowDenote value+                    , key == key' ->+                        duplicate (prettyAnyLabel key)+                _ ->+                    prettyKeyValue prettyAnyLabels equals (keys, value)      prettyCompletionLit         :: Pretty a => Int -> Map Text (Expr Src a) -> Doc Ann
src/Dhall/Repl.hs view
@@ -1,5 +1,6 @@ -- | This module contains the implementation of the @dhall repl@ subcommand +{-# language CPP               #-} {-# language FlexibleContexts  #-} {-# language NamedFieldPuns    #-} {-# language OverloadedStrings #-}@@ -55,11 +56,16 @@ import qualified Dhall.Version                           as Meta import qualified System.Console.ANSI import qualified System.Console.Haskeline.Completion     as Haskeline-import qualified System.Console.Haskeline.MonadException as Haskeline import qualified System.Console.Repline                  as Repline import qualified System.IO import qualified Text.Megaparsec                         as Megaparsec +#if MIN_VERSION_haskeline(0,8,0)+import qualified Control.Monad.Catch+#else+import qualified System.Console.Haskeline.MonadException+#endif+ type Repl = Repline.HaskelineT (State.StateT Env IO)  -- | Implementation of the @dhall repl@ subcommand@@ -293,9 +299,7 @@    pure $ saveFilePrefix <> "-" <> show nextIndex -loadBinding-  :: ( MonadFail m, MonadIO m, MonadState Env m, Haskeline.MonadException m )-  => [String] -> m ()+loadBinding :: [String] -> Repl () loadBinding [] = do   mFile <- currentSaveFile @@ -402,7 +406,7 @@   liftIO (throwIO Interrupt)  help-  :: ( Haskeline.MonadException m, MonadFail m, MonadIO m, MonadState Env m )+  :: ( MonadFail m, MonadIO m, MonadState Env m )   => HelpOptions m -> [String] -> m () help hs _ = do   liftIO (putStrLn "Type any expression to normalize it or use one of the following commands:")@@ -425,9 +429,7 @@  type HelpOptions m = [HelpOption m] -helpOptions-  :: ( Haskeline.MonadException m, MonadFail m, MonadIO m, MonadState Env m )-  => HelpOptions m+helpOptions :: HelpOptions Repl helpOptions =   [ HelpOption       "help"@@ -481,9 +483,7 @@       cmdQuit   ] -options-  :: ( Haskeline.MonadException m, MonadFail m, MonadIO m, MonadState Env m )-  => Repline.Options m+options :: Repline.Options Repl options = (\h -> (helpOptionName h, helpOptionFunction h)) <$> helpOptions  completer@@ -579,9 +579,13 @@   in liftIO (putStrLn message)  -dontCrash :: ( MonadIO m, Haskeline.MonadException m ) => m () -> m ()+dontCrash :: Repl () -> Repl () dontCrash m =-  Haskeline.catch+#if MIN_VERSION_haskeline(0,8,0)+  Control.Monad.Catch.catch+#else+  System.Console.Haskeline.MonadException.catch+#endif     m     ( \ e@SomeException{} -> liftIO ( putStrLn ( displayException e ) ) ) 
src/Dhall/Syntax.hs view
@@ -3,6 +3,7 @@ {-# LANGUAGE DeriveAnyClass     #-} {-# LANGUAGE DeriveDataTypeable #-} {-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE DeriveLift         #-} {-# LANGUAGE DeriveTraversable  #-} {-# LANGUAGE LambdaCase         #-} {-# LANGUAGE OverloadedLists    #-}@@ -101,7 +102,6 @@ import qualified Data.Text.Prettyprint.Doc  as Pretty import qualified Dhall.Crypto import qualified Dhall.Optics               as Optics-import qualified Language.Haskell.TH.Syntax as Syntax import qualified Network.URI                as URI  {-| Constants for a pure type system@@ -124,10 +124,7 @@     Dhall is not a dependently typed language -} data Const = Type | Kind | Sort-    deriving (Show, Eq, Ord, Data, Bounded, Enum, Generic, NFData)--instance Lift Const where-    lift = Syntax.liftData+    deriving (Show, Eq, Ord, Data, Bounded, Enum, Generic, Lift, NFData)  instance Pretty Const where     pretty = Pretty.unAnnotate . prettyConst@@ -165,10 +162,7 @@     appear as a numeric suffix. -} data Var = V Text !Int-    deriving (Data, Generic, Eq, Ord, Show, NFData)--instance Lift Var where-    lift = Syntax.liftData+    deriving (Data, Generic, Eq, Ord, Show, Lift, NFData)  instance IsString Var where     fromString str = V (fromString str) 0@@ -196,7 +190,7 @@     , annotation  :: Maybe (Maybe s, Expr s a)     , bindingSrc2 :: Maybe s     , value       :: Expr s a-    } deriving (Data, Eq, Foldable, Functor, Generic, NFData, Ord, Show, Traversable)+    } deriving (Data, Eq, Foldable, Functor, Generic, Lift, NFData, Ord, Show, Traversable)  instance Bifunctor Binding where     first k (Binding src0 a src1 b src2 c) =@@ -214,7 +208,7 @@ -- | This wrapper around 'Prelude.Double' exists for its 'Eq' instance which is -- defined via the binary encoding of Dhall @Double@s. newtype DhallDouble = DhallDouble { getDhallDouble :: Double }-    deriving (Show, Data, NFData, Generic)+    deriving (Show, Data, Lift, NFData, Generic)  -- | This instance satisfies all the customary 'Eq' laws except substitutivity. --@@ -245,10 +239,7 @@  -- | The body of an interpolated @Text@ literal data Chunks s a = Chunks [(Text, Expr s a)] Text-    deriving (Functor, Foldable, Generic, Traversable, Show, Eq, Ord, Data, NFData)--instance (Lift s, Lift a, Data s, Data a) => Lift (Chunks s a) where-    lift = Syntax.liftData+    deriving (Functor, Foldable, Generic, Traversable, Show, Eq, Ord, Data, Lift, NFData)  instance Data.Semigroup.Semigroup (Chunks s a) where     Chunks xysL zL <> Chunks         []    zR =@@ -273,7 +264,7 @@     | PreferFromWith (Expr s a)       -- ^ Stores the original @with@ expression     | PreferFromCompletion-    deriving (Data, Eq, Foldable, Functor, Generic, NFData, Ord, Show, Traversable)+    deriving (Data, Eq, Foldable, Functor, Generic, Lift, NFData, Ord, Show, Traversable)  instance Bifunctor PreferAnnotation where     first _  PreferFromSource      = PreferFromSource@@ -480,7 +471,7 @@     | ImportAlt (Expr s a) (Expr s a)     -- | > Embed import                             ~  import     | Embed a-    deriving (Foldable, Generic, Traversable, Show, Data, NFData)+    deriving (Foldable, Generic, Traversable, Show, Data, Lift, NFData) -- NB: If you add a constructor to Expr, please also update the Arbitrary -- instance in Dhall.Test.QuickCheck. @@ -496,9 +487,6 @@  -- | Note that this 'Ord' instance inherits `DhallDouble`'s defects. deriving instance (Ord s, Ord a) => Ord (Expr s a)--instance (Lift s, Lift a, Data s, Data a) => Lift (Expr s a) where-    lift = Syntax.liftData  -- This instance is hand-written due to the fact that deriving -- it does not give us an INLINABLE pragma. We annotate this fmap
src/Dhall/Util.hs view
@@ -69,7 +69,7 @@      preview =             Data.Text.unlines header-        <>  separator <> "\n"+        <>  Data.Text.take 80 separator <> "\n"         <>  Data.Text.unlines footer  {-| Like `snip`, but for `Doc`s
tests/Dhall/Test/Regression.hs view
@@ -44,6 +44,7 @@         , issue1341         , issue1584         , issue1646+        , issue1732         , parsing0         , typeChecking0         , typeChecking1@@ -194,6 +195,13 @@     -- This test ensures that the parser doesn't eagerly consume trailing     -- whitespace after a `Double`     _ <- Util.code "./tests/regression/issue1646.dhall"+    return () )++issue1732 :: TestTree+issue1732 = Test.Tasty.HUnit.testCase "Issue #1732" (do+    -- This test ensures that the parser allows whitespace after a record pun+    -- entry+    _ <- Util.code "./tests/regression/issue1732.dhall"     return () )  parsing0 :: TestTree
tests/format/ipfsB.dhall view
@@ -50,13 +50,13 @@             [ toRule                 { host = "localhost"                 , path = "/"-                , serviceName = serviceName+                , serviceName                 , servicePort = gatewayPort                 }             , toRule                 { host = "localhost"                 , path = "/"-                , serviceName = serviceName+                , serviceName                 , servicePort = apiPort                 }             ]
+ tests/format/punA.dhall view
@@ -0,0 +1,1 @@+{ x = x, y = 1, z = z }
+ tests/format/punB.dhall view
@@ -0,0 +1,1 @@+{ x, y = 1, z }
+ tests/regression/issue1732.dhall view
@@ -0,0 +1,1 @@+let x = 0 in { x , a = 0 }