Version 1.1.0 => 1.2.0

This commit is contained in:
Gabriel Gonzalez 2017-04-10 19:26:12 -07:00
parent ef4c8b08d5
commit 8e3d087ae3
3 changed files with 100 additions and 2 deletions

View File

@ -1,3 +1,101 @@
1.2.0
* BREAKING CHANGE: Add support for customizing derived `Interpret` instances
* This is a breaking change to the Dhall library API since this changes the
signature of the `Interpret` class by replacing the `auto` method with a
more general `autoWith` method. This `autoWith` now takes an
`InterpretOptions` argument 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
* 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 `List` and `Optional` type annotations
* This change affects programs with an expression like this:
```
-- Assuming that `y : B`
λ(x : A) → y : A → B
```
The 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 `y` like 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 `Text` by
adding `as Text` after 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/function` is an imported function being applied
to two arguments, the first of which is a bound variable named `as` and
the second of which is the type `Text`
* This is not a breaking change to the Dhall library API
* BREAKING CHANGE: Add support for importing environment variables using
`env:VAR` syntax
* This is a breaking change to the Dhall library API since it adds a new
`Path` constructor
* 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 `env` was the name of a bound variable and `:VAR` was a type
annotation without spaces around the type annotation operator
After 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/path` syntax
* This is a breaking change to the Dhall library API since it adds a new
field to the `File` constructor 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
* 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

View File

@ -1,4 +1,4 @@
# `dhall 1.1.0`
# `dhall 1.2.0`
`dhall` is a total programming language specialized to configuration files

View File

@ -1,5 +1,5 @@
Name: dhall
Version: 1.1.0
Version: 1.2.0
Cabal-Version: >=1.8.0.2
Build-Type: Simple
Tested-With: GHC == 7.10.2, GHC == 8.0.1