QT4 CG Meeting 115 Minutes 2025-03-26
Meeting index / QT4CG.org / Dashboard / GH Issues / GH Pull Requests
Table of Contents
- Minutes
- Summary of new and continuing actions
[0/4]
- 1. Administrivia
- 2. Technical agenda
- 2.1. Review of pull requests
- 2.1.1. PR #1875: 1861 Params passed automatically through next-match
- 2.1.2. PR #1874: 1862 Coercing to a record type changes map order
- 2.1.3. PR #1887: 1870 rename $zero keyword of fold functions
- 2.1.4. PR #1858: Initial xsl:record
- 2.1.5. PR #1886: 1660 Additional options for fn:path
- 2.1.6. PR #1766: Drop array bound checking
- 2.1. Review of pull requests
- 3. Any other business
- 4. Adjourned
Minutes
Approved at meeting 116 on 8 April 2025.
Summary of new and continuing actions [0/4]
[ ]
QT4CG-082-02: DN to work with NW to come to agreement on the fn:ranks proposal[ ]
QT4CG-107-05: JLO and DN to consider a proposal for system defined records.[ ]
QT4CG-112-01: JLO to propose a concrete example that uses “.” in a ~%method~s.[ ]
QT4CG-113-02: NW to investigate a way to show extra attributes in the syntax summary.[ ]
QT4CG-115-01: MK to give an example of params passed automatically through next-match using a 3.0 version control[ ]
QT4CG-115-02: JWL to write a few tests for xsl:record
1. Administrivia
1.1. Roll call [11/13]
Regrets: NW, BTW.
[X]
David J Birnbaum (DB)[X]
Reece Dunn (RD)[X]
Sasha Firsov (SF)[X]
Christian Grün (CG)[X]
Joel Kalvesmaki (JK)[X]
Michael Kay (MK) Chair.[X]
Juri Leino (JLO)[X]
John Lumley (JWL) Scribe.[X]
Dimitre Novatchev (DN)[X]
Wendell Piez (WP)[X]
Ed Porter (EP)[ ]
Bethan Tovey-Walsh (BTW)[ ]
Norm Tovey-Walsh (NW).
NW edited the minutes taken by JWL. (Thank you, JWL!)
1.2. Accept the agenda
Proposal: Accept the agenda.
- MHK suggests fn:compose/chain() item should be held until another chair.
- Drop discussion of PR #1888: 366 xsl:package-location, not ready yet
- Late addition of PR #1766 Drop array bound checking
Accepted with those ammendments.
1.3. Approve minutes of the previous meeting
Proposal: Accept the minutes of the previous meeting.
Accepted.
1.4. Next meeting
The next meeting is scheduled for 1 April 2025.
Note: The QT4CG meeting is scheduled on UK/European civil time. The United States switched to daylight saving time on 9 March 2025 and the UK/Europe switches on 30 March 2025. Consequently, the 1 April meeting will be back to the “usual” time in North America (no fooling!).
No regrets heard.
1.5. Review of open action items [1/5]
(Items marked [X] are believed to have been closed via email before this agenda was posted.)
[ ]
QT4CG-082-02: DN to work with NW to come to agreement on the fn:ranks proposal[ ]
QT4CG-107-05: JLO and DN to consider a proposal for system defined records.[X]
QT4CG-110-04: JK to consider a PR for #366, xsl:use-package with xsl:package-location[ ]
QT4CG-112-01: JLO to propose a concrete example that uses “.” in a ~%method~s.[ ]
QT4CG-113-02: NW to investigate a way to show extra attributes in the syntax summary.
1.6. Review of open pull requests and issues
This section summarizes all of the issues and pull requests that need to be resolved before we can finish. See Technical Agenda below for the focus of this meeting.
2. Technical agenda
2.1. Review of pull requests
2.1.1. PR #1875: 1861 Params passed automatically through next-match
See PR #1875
An external issue but the backwards compatibility issue is manageable.
- JWL: is there any way around this? Can we use a version="3.0"?
- MK: Possibly live with the incompatibility - it should be controllable by a version attribute.
ACTION QT4CG-115-01: MK to give an example of params passed automatically through next-match using a 3.0 version control
Proposal: Accept this PR.
Accepted, subject to the above amendment.
2.1.2. PR #1874: 1862 Coercing to a record type changes map order
See PR #1874
- CG: Have you thought of changing the instance-of check to make it order-sensitive?
- MK: Unsure - order of a map is just cosmetic.
- JLO: The order is not so important - no need to change instance-of.
- … Why do we need to change the order?
- MK: Perhaps for internal coherence with implementation data structures.
- CG: Use constant offsets into the storage structures.
- MK: the record type encourages implementation efficiency.
- DN: Will users consider ordering to be costly. We should not spend more time on this. (Making too much of this.)
Proposal: Accept this PR.
Accepted.
2.1.3. PR #1887: 1870 rename $zero keyword of fold functions
See PR #1887
- MK: There is a problem with the PR, which incorporates commits from fn:path().
Return to this after acceptance of #1886 (which was accepted).
- MK:
$accum
rather than$zero
- really it's the initial value of something that alters as the computation progresses. - DN: Mathematics might suggest
$natural-element
, or perhaps$initial-result
- MK: That's a bit long.
- JK:
$init
is a possible. - JLO:
$init
would be fine.
Proposal: Accept this PR, amended to use $init
Accepted.
2.1.4. PR #1858: Initial xsl:record
See PR #1858
- Proposal: Accept this PR.
Accepted subject to removal of a command and adding Must Not on shadow attributes.
ACTION QT4CG-115-02: JWL to write a few tests for xsl:record
2.1.5. PR #1886: 1660 Additional options for fn:path
See PR #1886
- MK: two option changes - a relative (
$origin
) node for the path and Lexical names for node match.
Proposal: Accept this PR.
Accepted.
2.1.6. PR #1766: Drop array bound checking
See PR #1766
- MK: Most important for deep look-up in nested array structures.
- … Added a function array:get-if-present() which retains the error behaviour
- …
array:get()
drops the fallback option. - …
array:remove()
andarray:put()
retain the error.
- DN: This is extremely wrong and makes logical errors very difficult to debug.
- JLO: The complete opposite - makes arrays behave much more consitently with
maps and XPath steps. Do we need
array:remove()
the throw an error. - CG: Encourage for consistency with other lookup mechanisms - e.g.
$sequence[N]
. - DN: Very unhappy about this.
- MK: We now know what the tenor of opinions are…
3. Any other business
None heard.