Releases
1.26.0
Compare
Sorry, something went wrong.
No results found
Supports version 10.0.0 of the standard
BREAKING CHANGE TO THE LANGUAGE: Remove old union literal syntax
BREAKING CHANGE TO THE API: Change X to be a type synonym for Data.Void
This is a breaking change if you were previously pattern matching on the
X constructor. You can replace that with the use of Data.Void.absurd
BREAKING CHANGE TO THE API: Treat multi-lets as syntactic sugar
This is a breaking change because the Let constructor now only stores
one Binding instead of a NonEmpty list of Bindings
PERFORMANCE REGRESSION & TECHNICALLY BREAKING CHANGE TO THE LANGUAGE: Dependent types
You can now write functions from terms to types
There is also now language support for tests of the form
assert : x === y
This deteriorates the performance of large multi-let expressions
(See: #1306 )
Splitting large multi-let expressions into smaller files may mitigate
the problem as a work-around for now
Follow #1129
for work to fix this performance regression
This is also a technically breaking change because assert is now a
reserved keyword
See the changelog for standard version 10.0.0 for more details
TECHNICALLY BREAKING CHANGE TO THE LANGUAGE: Add Natural/subtract built-in
The language now supports machine subtraction, which can be used to
support several other high-performance operations (like Natural
comparisons)
This is a technically breaking change if you used Natural/subtract as an
identifier in your code
See the changelog for standard version 10.0.0 for more details
TECHNICALLY BREAKING CHANGE TO THE LANGUAGE: More simplifications for field selection
Now the interpreter will more intelligently simplify certain field
projections
For example: λ(x : { a : Bool, b : Bool }) → (x ⫽ { c = 0 }).{ a, c }.c
will now simplify to λ(x : { a : Bool, b : Bool }) → 0
This is a technically breaking change because you will need to update
integrity checks that protect code simplified in this way
See the changelog for standard version 10.0.0 for more details
TECHNICALLY BREAKING CHANGE TO THE LANGUAGE: Simplify ⫽ when its arguments are equivalent
NEW FEATURE: Restore support for records containing both types and terms
In other words { foo = 1, bar = Bool } is now valid again
This means that you now can export a single package containing both types
and terms
See the changelog for standard version 10.0.0 for more details
dhall format now preserves let comments
dhall format will now preserve comments in the following locations of
a let binding:
let {- HERE -} x {- HERE -} : {- HERE -} Bool = {- HERE -} True in x
This support handles both single-line and multi-line comments and also
takes care of correctly indenting/dedenting them
Note that comments before the let keyword are still not preserved
(unless it is the beginning of the file)
Add API support for marshalling recursive types
You can now marshal recursive types from Dhall into Haskell using the
newly-added utilities
See also: #1298
New :help command for dhall repl
New --no-cache flag
You can now disable use of the cache with this flag
This comes in handy if you want to disable α-normalization for imports
protected by a semantic integrity check
Bug fixes
Performance optimizations
Improvements to error messages
Improvements to formatting
Improvements to diffs
Improvements to documentation
Improvements to command-line interface
You can’t perform that action at this time.