Skip to content

520: add function identity and use it in deep-equal#525

Merged
ndw merged 1 commit intoqt4cg:masterfrom
michaelhkay:Issue520-function-identity
May 30, 2023
Merged

520: add function identity and use it in deep-equal#525
ndw merged 1 commit intoqt4cg:masterfrom
michaelhkay:Issue520-function-identity

Conversation

@michaelhkay
Copy link
Contributor

I believe this PR resolves issues

issue #520 - function identity
issue #333 - equality of function items
issue #381 - deep-equal comparison without errors

The PR introduces a concept of function identity in the data model, and for all expressions that create functions, explains what the identity of the returned function is.

The concept of function identity is used initially in two places: in fn:deep-equal(), when the operands include function items; and in the F+O prose defining the concept of determinism, which in turn is relied on by the definition of memo functions in XSLT.

I had hoped to go further and address issue #119, generalising what kinds of values are allowed as keys in maps, but as explained in a comment on that issue, I hit obstacles.

@ndw
Copy link
Contributor

ndw commented May 30, 2023

Accepted at meeting 036

@ndw ndw merged commit c3475bc into qt4cg:master May 30, 2023
@michaelhkay michaelhkay added XDM An issue related to the XPath Data Model Completed PR has been applied, tests written and tagged, no further action needed labels Apr 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Completed PR has been applied, tests written and tagged, no further action needed XDM An issue related to the XPath Data Model

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants