* Refactor daml-script cli interface to be unified
* Add --upload-dar flag.
* Fix tests with new uploadDar flag
* Initial daml-script binary testing
* Tests for argument passing and failure behaviour
* add participant config and ide tests
* Add windows support to tests
* Fix missing tls error assertion
* Update changelogs
* Update daml with Canton snapshot and merge
* Sadly, not the release I'm after! Still waiting for 2.8.0-snapshot.20230822.12060.0.v9179b2e7
* Canton version bump
The goal of this change is to make it possible to do explicit "rc"
releases from the daml repo. We've had a good run at the old way of
working, where RCs were supposed to be "whatever the latest snapshot is
at the time of release", but since we've moved away from time-based
releases that attitude has become less and less in line with reality.
And if we're deliberately creating RCs now, why not call them that?
@paulbrauner-da is taking care of [testing](https://github.com/digital-asset/daml/blob/main/release/RELEASE.md) today's release, so they get pushed back to the end of the line.
Please do not merge this before the release is fully tested.
CHANGELOG_BEGIN
CHANGELOG_END
Co-authored-by: Azure Pipelines Daml Build <support@digitalasset.com>
PR #17253 introduces a right-to-left evaluation order behind an interpreter feature flag. It also modifies every scala test that uses the interpreter to test both evaluation orders and documents any divergence as a new test case.
In this commit we do the same for Daml script tests (compiler/damlc/tests/daml-test-files/...). We introduce a new file annotation for Daml script tests: @EVALUATION-ORDER (LeftToRight|RightToLeft). A test that uses this annotation will be ignored when run with an evaluation order that differs from the specified one. The BUILD file is modified to run every test twice: once in left-to-right order, and once in right-to-left order.
The only test for which the evaluation orders disagree is SemanticsEvalOrder.daml. So we mark it as left-to-right only, and we introduce SemanticsEvalOrderRightToLeft.daml, which is right-to-left only and documents the new behavior. All the other existing tests are run using both modes and do not diverge.
Right-to-left evaluation allows for a faster and simpler interpreter, but is incompatible with the semantics of Daml 2.x. Adding it behind a flag so we can switch to it in Daml 3.0.
See PR #17253 for ample details.
@remyhaemmerle-da is taking care of [testing](https://github.com/digital-asset/daml/blob/main/release/RELEASE.md) today's release, so they get pushed back to the end of the line.
Please do not merge this before the release is fully tested.
CHANGELOG_BEGIN
CHANGELOG_END
Co-authored-by: Azure Pipelines Daml Build <support@digitalasset.com>
The core functions of the ANF transformation in Anf.scala handle 3 different types of continuations:
1. The "transformations" (called tx), that are an inherent aspect of any ANF transformation expressed in pseudo-CPS style for convenience.
2. The "continuations" (called k) that had been introduced to avoid stack oveflows.
3. The trampolines, that have also been introduced to avoid stack overflows.
This commit recognizes that types 2 and 3 are redundant and merges them into only type 3. It relies on the fact that trampolines are monadic, and so we switch from the hand-rolled trampolines to that of scala's std library since they already implement flatMap.