Skip to content

Fix behaviour of now() - #140

Merged
istathar merged 6 commits into
mainfrom
fix-statement-binding
Jul 16, 2026
Merged

Fix behaviour of now()#140
istathar merged 6 commits into
mainfrom
fix-statement-binding

Conversation

@istathar

@istathar istathar commented Jul 15, 2026

Copy link
Copy Markdown
Member

This branch started as addressing a problem with statement binding; a regression had arisen when statements were chained in a sequence but the result of the first was bound to a variable. Fixed.

In the course of that work added a test, and that uncovered an inconsistency with evaluating the now() function. We have added Nature::Instant to mark a system-provided effectful function which does not take an editable command like Nature::Command does. This then clarified that now()'s value (a timestamp) is indeed printed to the terminal because it is a Return. If the value is subsequently captured in a binding and/or made the result of a step as Done that is separate and not printed as such.

Bump and refine dependencies.

Add some preliminary test coverage for the language server code path.

@istathar istathar self-assigned this Jul 15, 2026
@istathar
istathar merged commit 8fe2468 into main Jul 16, 2026
1 check passed
istathar added a commit that referenced this pull request Jul 22, 2026
Encountered a problem whereby a binding in a code block was not being
parsed properly. This was probably a further regression, but regardless
this branch generalizes the fix from 7e35830 (#140) that dealt with
bindings in sequences.

Add test samples so both cases are covered now.
@istathar
istathar deleted the fix-statement-binding branch August 2, 2026 13:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant