Changelog for dhall-1.2.0
1.2.0
- BREAKING CHANGE: Add support for customizing derived
Interpretinstances- This is a breaking change to the Dhall library API since this changes the
signature of the
Interpretclass by replacing theautomethod with a more generalautoWithmethod. ThisautoWithnow takes anInterpretOptionsargument that lets you customize derived field and constuctor names - In practice user programs that use the common path will be unaffected by this change
- This is not a breaking change to the Dhall language
- This is a breaking change to the Dhall library API since this changes the
signature of the
- BREAKING CHANGE: Type annotations now bind more tightly than lambda
abstraction
-
This is a breaking change to the Dhall language. An expression like this:
λ(x : A) → y : B... used to parenthesized implicitly as:
(λ(x : A) → y) : T... but is now parenthesized implicitly as:
λ(x : A) → (y : T)This is now consistent with Haskell's precedence and also consistent with the precedence of
ListandOptionaltype annotations -
This change affects programs with an expression like this:
-- Assuming that `y : B` λ(x : A) → y : A → BThe above program would type-check before this change but not type-check after this change. You would you need to fix the above program by either changing the type signature to annotate just the type of
ylike this:λ(x : A) → y : B... or by adding explicit parentheses like this:
(λ(x : A) → y) : A → B -
This is not a breaking change to the Dhall library API
-
- BREAKING CHANGE: Add support for importing a path's contents as raw
Textby addingas Textafter the import-
This is a breaking change to the Dhall language
-
This is technically a breaking change, but is extremely unlikely to affect you program. This only changes the behavior of old programs that had an expression of the form:
/some/imported/function as Text... where
/some/imported/functionis an imported function being applied to two arguments, the first of which is a bound variable namedasand the second of which is the typeText -
This is not a breaking change to the Dhall library API
-
- BREAKING CHANGE: Add support for importing environment variables using
env:VARsyntax-
This is a breaking change to the Dhall library API since it adds a new
Pathconstructor -
This also technically a breaking change to the Dhall language but extremely unlikely to affect your program. This only changes the behavior of old programs that had an expression of the form:
env:VAR... where
envwas the name of a bound variable and:VARwas a type annotation without spaces around the type annotation operatorAfter this change the program would be interpreted as an import of the contents for the environment variable named
VAR
-
- BREAKING CHANGE: Support importing paths relative to home directory using
~/some/pathsyntax- This is a breaking change to the Dhall library API since it adds a new
field to the
Fileconstructor indicating whether or not the imported path is relative to the home directory - This is not a breaking change to the Dhall language and the new syntax does not override any old syntax
- This is a breaking change to the Dhall library API since it adds a new
field to the
- Permit trailing commas and bars in record/union syntax
- Improve location information for parsing errors
1.1.0
- BREAKING CHANGE: Non-empty lists no longer require a type annotation
- This is a breaking change to the Haskell library, not the Dhall language
- This change does not break existing Dhall programs
- The
Exprtype was modified in a non-backwards-compatible way
- Add new
exprAparser - Add new
InvalidTypeexception ifinputfails on an invalidType - Improve documentation and tutorial
1.0.2
- Add support for Nix-style "double single-quote" multi-line string literals
- Add
isNormalized - Improve documentation and tutorial
- Build against wider range of
http-clientversions
1.0.1
- Initial release
1.0.0
- Accidental premature upload to Hackage. This release was blacklisted