Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for Let Expressions #478

Merged

Conversation

david-waltermire
Copy link
Collaborator

@david-waltermire david-waltermire commented Nov 10, 2023

Committer Notes

Adding support for let expressions in constraints.

Also cleaned up the Metaschema XML schema, moving all constraint-related constructs to a section of the schema.

All Submissions:

  • Have you followed the guidelines in our Contributing document?
  • Have you checked to ensure there aren't other open Pull Requests for the same update/change?
  • Have you squashed any non-relevant commits and commit messages? [instructions]
  • Do all automated CI/CD checks pass?

Changes to Core Features:

  • Have you added an explanation of what your changes do and why you'd like us to include them?
  • [ ] Have you written new tests for your core changes, as applicable?
  • Have you included examples of how to use your new feature(s)?
  • Have you updated all website](https://pages.nist.gov/metaschema) and readme documentation affected by the changes you made? Changes to the website can be made in the website/content directory of your branch.

Copy link
Collaborator

@aj-stein-nist aj-stein-nist left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Minor wording request and want to clarify and make sure I understand the scoping (context/sub-context) spec as written.

@david-waltermire david-waltermire marked this pull request as ready for review November 10, 2023 14:28
Copy link
Collaborator

@wendellpiez wendellpiez left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My questions are less about the design than about process.

What are we promising if we merge this into develop? Do we get to try the design and see? When is it appropriate to quibble about names or details such as what happens when two let expressions have the same name (@var, I guess it is), etc.

Similarly I wonder whether we could aspire to providing, with a design, some worked examples / functional demos, which we can use for testing and validation both of our conceptual models (addressing questions such as @aj-stein-nist) and of the tools we make.

Nice to see continued headway - thanks @david-waltermire-nist

aj-stein-nist
aj-stein-nist previously approved these changes Nov 17, 2023
wendellpiez
wendellpiez previously approved these changes Dec 4, 2023
Copy link
Collaborator

@wendellpiez wendellpiez left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

let/@var and let/@expression are okay but why not (e.g.)

let/@var and let/@expr
let/@variable and let/@expression

Also I wonder if @eval or @evaluate might be more accurate than @expr insofar as what is being passed is not an expression, but a binding to the results of an expression.

However these are not blocking questions inasmuch as others might also have suggestions for syntax improvements, so presumably later chances to discuss.

(I would actually like to see a process whereby the group could come up with 'best names' and syntax.)

@david-waltermire
Copy link
Collaborator Author

david-waltermire commented Dec 8, 2023

Change @expression to @expr based on the Metaschema community call discussion today.

@david-waltermire david-waltermire merged commit c6f32ef into usnistgov:develop Dec 29, 2023
3 checks passed
@david-waltermire david-waltermire deleted the feature-let-plus-cleanup branch December 29, 2023 13:51
david-waltermire added a commit that referenced this pull request Jan 4, 2024
* Cleaned up schema, adjusting some documentation and grouping constraint constructs in a section of the schema.
* Added support for declaration of let expressions in constraints.
* Added documentation about the let expression in the specification.
* Added let example to specification.
* Fixed some other inconsistencies in the Metaschema XML schema.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants