Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The curried dot operator
(.)
has been added to Nickel 1.3. However, due to an overlook of the order of arguments of the underlying primitive operator (DynAccess
), the arguments of this operator have been flipped: in 1.3,(.) foo bar
isbar."%{foo}"
instead offoo.%{"bar"}
.While it's tempting to keep this way - in particular because it's very useful combined with the reverse application operator - this is both unintentional and inconsistent with every other curried operator. Although it's a breaking change, I believe it's the right price to pay to maintain consistency as much as possible and keep to the principle of least surprise for newcomers.
In addition to fixing the order of arguments for
(.)
, a new functionstd.record.get
has been added to the stdlib to make up for the previous usage of the flipped(.)
in sequence of|>
applications: any previous usage of(.)
can safely be replaced withstd.record.get
.