- From: Norm Tovey-Walsh <norm@saxonica.com>
- Date: Tue, 16 Jul 2024 17:23:30 +0100
- To: public-xslt-40@w3.org
- Message-ID: <m2ed7ts3ul.fsf@saxonica.com>
Hello,
Here are the minutes for today’s meeting:
https://qt4cg.org/meeting/minutes/2024/07-16.html
Reminder: we meet next week, then we take a summer recess until 3 September.
QT4 CG Meeting 086 Minutes 2024-07-16
Table of Contents
* [1]Draft Minutes
* [2]Summary of new and continuing actions [0/3]
* [3]1. Administrivia
+ [4]1.1. Roll call [11/12]
+ [5]1.2. Accept the agenda
o [6]1.2.1. Status so far...
+ [7]1.3. Approve minutes of the previous meeting
+ [8]1.4. Next meeting
+ [9]1.5. Review of open action items [0/3]
+ [10]1.6. Review of open pull requests and issues
o [11]1.6.1. Blocked
o [12]1.6.2. Close without action
* [13]2. Technical Agenda
+ [14]2.1. Community, communication, and consensus
+ [15]2.2. Plan to clean up the state of PRs
+ [16]2.3. PR #1263: 1224 Add xsl:accumulator-rule/@priority
attribute
+ [17]2.4. PR #1244: 1244 566-partial Rewrite parse-uri
* [18]3. Any other business
* [19]4. Adjourned
[20]Meeting index / [21]QT4CG.org / [22]Dashboard / [23]GH Issues /
[24]GH Pull Requests
Draft Minutes
Summary of new and continuing actions [0/3]
* [ ] QT4CG-080-05: NW to add absolute property to the parse-uri
output
* [ ] QT4CG-080-07: NW to update the build instructions in the README
* [ ] QT4CG-082-02: DN to work with MK to come to agreement on the
fn:ranks proposal
1. Administrivia
1.1. Roll call [11/12]
* [X] Reece Dunn (RD)
* [X] Sasha Firsov (SF)
* [X] Christian Gr¸n (CG)
* [X] Joel Kalvesmaki (JK)
* [X] Michael Kay (MK)
* [ ] Juri Leino (JLO)
* [X] John Lumley (JWL)
* [X] Dimitre Novatchev (DN)
* [X] Wendell Piez (WP)
* [X] Ed Porter (EP)
* [X] C. M. Sperberg-McQueen (MSM)
* [X] Norm Tovey-Walsh (NW). Scribe. Chair.
1.2. Accept the agenda
MK observes that the selection of technical items is a mixed bag. Some
are not ready for discussion. Maybe we could talk about how to improve
that?
Proposal: Accept [25]the agenda amended to include discussion of the
state of PRs.
Accepted.
1.2.1. Status so far...
issues-open-2024-07-16.png
Figure 1: "Burn down" chart on open issues
issues-by-spec-2024-07-16.png
Figure 2: Open issues by specification
issues-by-type-2024-07-16.png
Figure 3: Open issues by type
1.3. Approve minutes of the previous meeting
Proposal: Accept [26]the minutes of the previous meeting.
Accepted.
1.4. Next meeting
This next meeting is planned for 23 July.
MSM gives possible regrets.
1.5. Review of open action items [0/3]
* [ ] QT4CG-080-05: NW to add absolute property to the parse-uri
output
* [ ] QT4CG-080-07: NW to update the build instructions in the README
* [ ] QT4CG-082-02: DN to work with MK to come to agreement on the
fn:ranks proposal
1.6. Review of open pull requests and issues
1.6.1. Blocked
The following PRs are open but have merge conflicts or comments which
suggest they aren't ready for action.
* PR [27]#1231: 1193 Parsing Functions: Empty input
* PR [28]#1227: 150 PR resubmission for fn ranks
* PR [29]#1062: 150bis - revised proposal for fn:ranks
* PR [30]#529: 528 fn:elements-to-maps
1.6.2. Close without action
It has been proposed that the following issues be closed without
action. If you think discussion is necessary, please say so.
* Issue [31]#1272: Add xsl:value-of/@as attribute
Proposal: close without further action
Approved.
2. Technical Agenda
2.1. Community, communication, and consensus
Can we make our process less...fractious?
* NW: I said my piece in [32]the agenda. Mike's follow-up points
[33]in the issue were on point as well, I think. Mostly, we're
talking about design decisions and while the design might have
influence one way or the other, rarely can the argument be made, I
think, that one design is doomed to failure.
* MK: People do get passionate about decisions; we strive for
perfection and we have different ideas about what that is. Often,
focused on one particular aspect of design. These are engineering
trade-offs; we should try to be objective about what the benefits
and disadvantages of the proposals.
+ Don Chamberlain and Mary Fernandez were very good about
managing these sorts of things. They would write up a position
paper that was very clear about the options without taking
sides. That often clarified the engineering trade-offs. Even
if you end up tossing a coin, everyone has acknowledged the
choices.
* CG: Thanks for putting this on the agenda. What do you think of the
current way. Sometimes there's no discussion, sometimes there's a
lot of discussion. What I observed is that in the beginning I felt
like we were much more focused. In the last few months, it feels
like things have been blocked by secondary items. I appreciate MK's
comments about other projects.
* DN: I want to thank CG for adding this to the agenda. I want to
thank MK for pointing out that we should be guided primarily by the
facts. I agree that we have communication issues. And our
communication will be reflected in the final project.
+ I think there are bigger communication problems:
DN shares a screen with some XQuery definitions
* DN: There's a simple call to fold left with the position argument.
This gives the wrong answer. Without the position argument, we get
the right answer (55).
+ ... Our specification of defaults that has been in the spec
for several months is wrong. And no one has noticed. We have
problems in communication and approval of PRs.
+ ... For fold-right, we get 35 but we should have got the same
result.
+ ... For PR 1296, we have an example that doesn't even compile!
+ ... If I change it so it compiles, fold-left produces the
right result but fold-right has some mysterious issue.
+ ... The mapBuild function from the specification also does not
compile!
+ ... This shows much deeper and more serious issues in our
communication.
* DN: I think we need to review how we accept pull requests.
* DN: I also wanted to show you two more functions, the versions of
C# that do not have position arguments.
* CG: I'd like to point out that I didn't raise this issue
exclusively because of the scan functions. It's a general
observation over the past few months that we've had trouble making
progress. Whenever a few people think something is a good idea, we
should have respect for that. Everyone can have different
experiences and ideas, but I wanted to talk about the principle
that we should avoid offensive terms.
* DN: I think in many cases when we have consensus, we end up with
results that don't work. I would not be surprised if very
significant parts of our "formal" specification will have similar
results.
* RD: A couple of points. 1. I don't have enough time to look at all
of the issues and all of the discussions. The discussion may be in
a domain area where I'm not an expert. I only tend to contribute
when I have specific insights. 2. On the grammar and syntax errors
with fold-left and fold-right, I wonder if we could run a parser
over the specs. We should be able to automate validation of the
fragments. With things like the $key variable being mistyped, I
think it might be useful to extract the functions where we've got
something that should be implementations and test them. We're
relying on having multiple implementors implementing the spec and
providing feedback and comments. It's impossible to get a perfect,
error-free spec. That's just the nature of writing. What tooling
and infrastructure can we put in place?
* MK: We've changed the subject somewhat from the process of gaining
agreement on the design that we want to the process of publishing a
quality specification free of embarrassing errors. In some ways I'm
more comfortable with the second topic!
+ ... We've put a lot of investment into technology for solving
some of those issues that we aren't fully exploiting. We do
have the ability to test all the examples, for examples.
+ ... Testing alternative implementations is something we should
definitely try to do. Some of the test suites for particular
functions test both the "real" implementation and the
specification implementation.
+ ... We should try to formalize that. The whole markup of
Functions & Operators should support marking up a function
clearly enough to automate testing it.
+ ... There's also technology in the markup system for marking
up fragments of XPath and testing that they compile.
+ ... I think that's a separate matter from the process we try
to use to reach consensus.
* DN: Totally agree with MK. It's good that we're talking about
communication problems, but if we're only talking it's not good.
The actions could be to establish some rules that would decrease
some issues.
+ ... I'd like to suggest that this formal semantics should be
executable as much as possible. We should be able to
cut-and-paste the formal specifications into their favorite
implementations.
+ ... We should not allow a formal specification to be replaced
by an informal one.
* RD: It would also be useful to have validation for XSLT as well.
Those examples can have errors too. I don't think it would be
useful to require all functions to have an executable
implementation. First, because that can be difficult to read, and
second, it can be harder to implement when you're dealing with
internals and domain-specific things like Unicode.
* DN: For me, a specification is not executable if the code contain
calls to other newly proposed XPath 4.0 functions that are not
implemented. It's a circular reference or chain that should be
broken.
* MSM: Thank you for the discussion. I think MK was right that we've
drifted from the question of communication style and interaction to
questions of quality assurance. That's understandable in a way.
It's when we see things going wrong that we're most apt to become
agitated and push the boundaries of normal rules of communication.
I think we've had some suggestions for improved Q&A. I would like
to make some suggestions for improved communication:
+ ... There are rules that apply here. You may or may not
remember but when you joined the group you agreed to abide by
the W3C code of conduct.
+ ... There are a lot of things in the code that aren't
relative, but cognizance of difference is essential. We all
come from different tehcnical, social and cultural
backgrounds. That means we inevitably have different
expectations. Things that are minor in some cultures may be
almost unbearably aggressive in others. That means that those
from cultures on the aggressive end of the spectrum have to be
sensitive and those from the other end have to try to be
understanding.
+ ... The second requirement is respect. Everyone here is a
volunteer giving their time. Everyone is obligated to be here.
To the extent that we all want this spec to go forward, we owe
each other a debt of gratitude for being here. If things
aren't going as we would like, if PRs aren't getting the
review we would like, that's because we aren't as many as we
might like. But turning meeteings of the group into unpleasant
confrontations isn't a way to encourage people to be here.
+ ... Be conscious that you may need to convey respect as well
as critical information. Of course, it's precisely when we're
most passionate about something that it's easiest to loose
track. And if we weren't passionate, we wouldn't be here. Some
confrontation is probably unavoidable but I would like to
lower the temperature sometimes.
+ ... Maybe we should just suspend discussion when it gets too
heated. That's something that NW and I can do as co-chairs.
2.2. Plan to clean up the state of PRs
* MK: There are various things on the list this week, that I don't
think that we're ready to debate. Perhaps we aren't tagging things
appropriately. There are things like JSON to XML conversion that
have been dormant a long while.
+ ... There are other things that perhaps ought to be
back-burnered.
* NW: I think it's also appropriate to close PRs that won't be ready
for discussion for some time.
This discussion petered out without really leading anywhere. Alas.
MK proposes that we can get through 1263 in 15 minutes.
2.3. PR #1263: 1224 Add xsl:accumulator-rule/@priority attribute
See PR [34]#1263
MK walks us through the substance of the change.
* NW: I'm happy to see that there's no attempt to mix manual and
automatic priorities.
* JK: I'm in favor of this proposal, it'll help me a lot.
* MSM: Several people have said that we aren't mixing and explict and
implicit priorities. Hasn't XSLT already done that; shouldn't we be
trying to do the same thing as XSLT?
* MK: One reason is that if we now introduced default priorities
based on the syntax of the match pattern based on the syntax of the
match patterns, we'd immediately be incompatible with 3.0.
+ That was done probably because we thought there would only be
a few.
Some discussion of whether automatic XSLT priorities are "a good thing"
in the first place.
* MK: The compatibility problem seems insurmountable.
* WP: If we can't make the priorities the same, then can we flag that
up?
* MK: We could add an attribute to do that, but that seems like
layering complexity.
* NW: Doesn't the current design achieve that: if one has a priority
then they all must?
Further discussion of that design choice.
* JWL: No two priorities can be the same, so the set of accumulator
rules are strictly ordered. So in one sense you don't need the
priority attirbute, you just have to put them in the right order.
* MK: That's the 3.0 design.
* JWL: So this just makes it so you don't have to switch them around.
* RD: Does this effect included accumulator rules?
* MK: You can't currently spread an accumulator definition across
multiple modules.
* MSM: I'd like a week to sleep on it.
* JWL: Same for me.
* DN: All similar design issues could be replaced by having a single
map of accumulators with match patterns as the keys. This will be
more compact and people will not argue about order and other
things. I've noticed this in several places. Things that are
declared as a sequence can be a single map.
* CG: I hope that one minute is enough to look at 1244.
2.4. PR #1244: 1244 566-partial Rewrite parse-uri
* CG: I've reviewed this and I think we should merge it and then work
on implementations and tests.
* NW: Okay. I've been holding off on this one waiting until we could
collaborate on that, but if you think it's ready to merge, that's
fine by me!
Proposal: merge this PR.
Accepted.
3. Any other business
None heard.
4. Adjourned
References
1. https://qt4cg.org/meeting/minutes/2024/07-16.html#minutes
2. https://qt4cg.org/meeting/minutes/2024/07-16.html#new-actions
3. https://qt4cg.org/meeting/minutes/2024/07-16.html#administrivia
4. https://qt4cg.org/meeting/minutes/2024/07-16.html#roll-call
5. https://qt4cg.org/meeting/minutes/2024/07-16.html#agenda
6. https://qt4cg.org/meeting/minutes/2024/07-16.html#so-far
7. https://qt4cg.org/meeting/minutes/2024/07-16.html#approve-minutes
8. https://qt4cg.org/meeting/minutes/2024/07-16.html#next-meeting
9. https://qt4cg.org/meeting/minutes/2024/07-16.html#open-actions
10. https://qt4cg.org/meeting/minutes/2024/07-16.html#open-pull-requests
11. https://qt4cg.org/meeting/minutes/2024/07-16.html#blocked
12. https://qt4cg.org/meeting/minutes/2024/07-16.html#close-without-action
13. https://qt4cg.org/meeting/minutes/2024/07-16.html#technical-agenda
14. https://qt4cg.org/meeting/minutes/2024/07-16.html#communication
15. https://qt4cg.org/meeting/minutes/2024/07-16.html#h-06AAA90B-E108-43AC-B0D4-26C8057329B1
16. https://qt4cg.org/meeting/minutes/2024/07-16.html#pr-1263
17. https://qt4cg.org/meeting/minutes/2024/07-16.html#pr-1244
18. https://qt4cg.org/meeting/minutes/2024/07-16.html#any-other-business
19. https://qt4cg.org/meeting/minutes/2024/07-16.html#adjourned
20. https://qt4cg.org/meeting/minutes/
21. https://qt4cg.org/
22. https://qt4cg.org/dashboard
23. https://github.com/qt4cg/qtspecs/issues
24. https://github.com/qt4cg/qtspecs/pulls
25. https://qt4cg.org/meeting/agenda/2024/07-16.html
26. https://qt4cg.org/meeting/minutes/2024/07-09.html
27. https://qt4cg.org/dashboard/#pr-1231
28. https://qt4cg.org/dashboard/#pr-1227
29. https://qt4cg.org/dashboard/#pr-1062
30. https://qt4cg.org/dashboard/#pr-529
31. https://github.com/qt4cg/qtspecs/issues/1272
32. https://qt4cg.org/meeting/agenda/2024/07-16.html#communication
33. https://github.com/qt4cg/qtspecs/pull/1296#issuecomment-2228896220
34. https://qt4cg.org/dashboard/#pr-1263
Be seeing you,
norm
--
Norm Tovey-Walsh
Saxonica
Received on Tuesday, 16 July 2024 16:23:39 UTC