From 7e523ae1903ae2d8bca8b3a8352167d7bac5b2b5 Mon Sep 17 00:00:00 2001 From: Nadrieril Date: Mon, 14 Sep 2020 23:09:22 +0100 Subject: spec: Enable `with` optimizations --- CHANGELOG.md | 1 + dhall-lang | 2 +- dhall/src/operations/kind.rs | 3 ++ dhall/src/operations/normalization.rs | 2 +- dhall/src/operations/typecheck.rs | 2 +- dhall/src/semantics/resolve/resolve.rs | 32 ++++++++++++++++++++-- dhall/src/syntax/ast/span.rs | 1 - dhall/src/syntax/binary/decode.rs | 21 ++++++++++++++ dhall/src/syntax/binary/encode.rs | 4 +++ dhall/src/syntax/text/parser.rs | 26 ++++-------------- dhall/src/syntax/text/printer.rs | 4 +++ dhall/tests/parser/success/unit/WithB.txt | 2 +- dhall/tests/parser/success/unit/WithMultipleB.txt | 2 +- .../tests/parser/success/unit/WithPrecedence1B.txt | 2 +- .../tests/parser/success/unit/WithPrecedence2B.txt | 2 +- .../tests/parser/success/unit/WithPrecedence3B.txt | 2 +- .../failure/unit/WithInvalidOverrideA.txt | 6 ++++ 17 files changed, 82 insertions(+), 32 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9449d4b..ac51508 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ #### [Unreleased] +- BREAKING CHANGE: Enable `with` optimizations - Support Dhall v17.1.0 #### [0.6.0] - 2020-08-05 diff --git a/dhall-lang b/dhall-lang index 2cb2e18..b046b84 160000 --- a/dhall-lang +++ b/dhall-lang @@ -1 +1 @@ -Subproject commit 2cb2e1804aa5ba8379137df1fc1fd1e9afb17ec7 +Subproject commit b046b849350cdfcdb90af48c3f88d31a40154159 diff --git a/dhall/src/operations/kind.rs b/dhall/src/operations/kind.rs index 0ee9671..2b035ef 100644 --- a/dhall/src/operations/kind.rs +++ b/dhall/src/operations/kind.rs @@ -55,6 +55,8 @@ pub enum OpKind { ProjectionByExpr(SubExpr, SubExpr), /// `x::y` Completion(SubExpr, SubExpr), + /// `x with a.b.c = y` + With(SubExpr, Vec