QT4 CG Draft Minutes 025, 7 March 2023

Hi folks,

Draft minutes are now available:

  https://qt4cg.org/meeting/minutes/2023/03-07.html

QT4 CG Meeting 025 Minutes 2023-03-07

Table of Contents

     * [1]Draft Minutes
     * [2]Summary of new and continuing actions [0/10]
     * [3]1. Administrivia
          + [4]1.1. Roll call [9/12]
          + [5]1.2. Accept the agenda
          + [6]1.3. Approve minutes of the previous meeting
          + [7]1.4. Next meeting
          + [8]1.5. Review of open action items [1/7]
     * [9]2. Technical Agenda
          + [10]2.1. PR #375: Context for default parameter values
          + [11]2.2. PR #378: Update the localName and unparsed entity
            reference notes for parse-html
          + [12]2.3. PR #371: Issue 370: forwards and backwards
            compatibility for 4.0
          + [13]2.4. PR #364: Generalize switch expressions in XQuery
          + [14]2.5. PR #363: Issue 345; missing rules for type matching
          + [15]2.6. PR #355: Add to imp-defined-feature-appendix
          + [16]2.7. PR #344: Issue 22: allow "for"/"let" keyword to be
            repeated in XPath
          + [17]2.8. PR #347: Attempt to clarify fn:parse-uri and
            fn:build-uri
     * [18]3. Any other business

Draft Minutes

Summary of new and continuing actions [0/10]

     * [ ] QT4CG-002-10: BTW to coordinate some ideas about improving
       diversity in the group
     * [ ] QT4CG-016-08: RD to clarify how namespace comparisons are
       performed.
     * [ ] QT4CG-023-01: NW to review the stylesheets for functions across
       XPath and XSLT
     * [ ] QT4CG-023-05: NW to put record types on an agenda.
     * [ ] QT4CG-024-01: MK to add namespace-uri-for-prefix argument
       changes to the compatibility appendix
     * [ ] QT4CG-024-02: DN to develop an alternative proposal for
       deep-action.
     * [ ] QT4CG-025-01: NW to close the issues we agreed to close in
       meeting 024
     * [ ] QT4CG-025-02: MK to make the context function properties simple
       values instead of functions
     * [ ] QT4CG-025-03: MK to revise and expand technical detail in PR
       #375
     * [ ] QT4CG-025-04: RD to remove the note in 15.5.15 of functions and
       operators.
     * [ ] QT4CG-025-05: MK to correct the accidental deletion in 3.6.2 of
       XQuery
     * [ ] QT4CG-025-06: NW to fix the "blue boxes" in the serialization
       specification
     * [ ] QT4CG-025-07: MK to update the text about for/let changes to
       use use definitions and termrefs correctly.
     * [ ] QT4CG-025-08: MK to add an error code for the case where member
       is used on something that isn't an array
     * [ ] QT4CG-025-09: NW to add the parse-uri and build-uri tests to
       the test suite

1. Administrivia

1.1. Roll call [9/12]

   Regrets: BTW, DN
     * [ ] Anthony (Tony) Bufort (AB)
     * [X] Reece Dunn (RD)
     * [X] Sasha Firsov (SF)
     * [X] Christian Gr¬łn (CG)
     * [X] Joel Kalvesmaki (JK) [:15-]
     * [X] Michael Kay (MK)
     * [X] John Lumley (JL)
     * [ ] Dimitre Novatchev (DN)
     * [X] Ed Porter (EP)
     * [X] C. M. Sperberg-McQueen (MSM) [:08-]
     * [ ] Bethan Tovey-Walsh (BTW)
     * [X] Norm Tovey-Walsh (NW). Scribe. Chair.

1.2. Accept the agenda

   Proposal: Accept [19]the agenda.

   Accepted.

1.3. Approve minutes of the previous meeting

   Proposal: Accept [20]the minutes of the previous meeting.
     * MK: First item was a discussion on closing various issues. I
       believe we agreed to close some but didn't make an action.

   ACTION QT4CG-025-01: NW to close the issues we agreed to close in
   meeting 024
     * RD: Should be able to close the parse HTML issue as well.
     * MK: If you opened an issue and you think it can now be closed, I
       think go ahead and close it.

   Accepted as amended.

1.4. Next meeting

   The next meeting [21]is scheduled for Tuesday, 14 March 2023.

   ATTENTION: This meeting is scheduled at 16:00 local time in Europe. The
   United States will be on Daylight Saving Time starting on Sunday, 12
   March 2023. Until Europe and the UK switch to summer time (on 26 March
   2023), this meeting will be one hour later in the United States
   starting next week.

   No regrets heard.

1.5. Review of open action items [1/7]

     * [ ] QT4CG-002-10: BTW to coordinate some ideas about improving
       diversity in the group
     * [ ] QT4CG-016-08: RD to clarify how namespace comparisons are
       performed.
     * [ ] QT4CG-023-01: NW to review the stylesheets for functions across
       XPath and XSLT
     * [ ] QT4CG-023-05: NW to put record types on an agenda.
     * [ ] QT4CG-024-01: MK to add namespace-uri-for-prefix argument
       changes to the compatibility appendix
     * [ ] QT4CG-024-02: DN to develop an alternative proposal for
       deep-action.
     * [X] QT4CG-024-03: NW to create issues for improving fn:deep-equal

2. Technical Agenda

   Last week, the suggestion was made that we try to clear up a bit of the
   back log in PRs by reviewing some of the smaller, simpler ones. Please
   read these issues in preparation for the meeting so that we are more
   likely to be able to move through them swiftly.

2.1. PR #375: Context for default parameter values

   Contrary to the remark above, this is not a small issue. But it's a bug
   and deseves high priority. I propose a 30 minute time box on this issue
   so that we do have time to resolve some low hanging fruit.

   See [22]pull request #375.
     * MK: I worked through all the changes in XQuery, but haven't done
       the corresponding changes on XSLT. If we agree with the design,
       it's fairly mechanical to translate to XSLT.
          + ... In the course of doing this, I found that the two sections
            on variable and function declarations had become unstructured
            and unweildy. I reorganized them but that makes the diff hard
            to read.
          + ... What should be the static and dynamic context for the
            expression that defines a default value?
          + ... Using the same static context as variable declarations
            fails to satisfy the goal of allowing user-defined functions
            to have access to the context item and default collation.
          + ... First thought was to use something different for the
            dynamic context, but that makes the inconsistent. The "static
            item context type" for example becomes meaningless if the
            context item is taken from the dynamic context.
          + ... I thought about defining a custom context, we could do
            that, but it's a little bit daunting.
          + ... I also thought about cutting back on our ambitions and
            allowing only the static context. That'd lose the ability to
            use the context.
          + ... The proposal here introduces a new function that you can
            call in the initializing expression that give you access to
            parts of the callers context.
          + ... I'm not enormously fond of the solution, but...
     * RD: As a goal, I think it's a good to make it possible to get to
       the dynamic context.
     * CG: I think that it would be good to add an example of a function
       item. I outlined it in a comment on issue #375.

let $filter := function(
  $item := caller-context()?context-item()
) {
  $item = 'Jupiter'
}
return //planet[$filter()]

     * MK: Adding examples is part of the next phase if the design is
       accepted.
     * CG: Can we call the function context() and the item item?
     * MK: When we get to talking about the spelling, you're in the home
       stretch.
     * JL: Couldn't this be generalized to solve questions like "what's my
       current mode" in XSLT?
     * MK: Yes. I adopted a fairly extensible design on purpose.
     * JL: Would we also have to be fairly careful about security
       implications? About being able to see things that the compiler has
       got rid of.
     * MK: For access to the static context, that could be an issue. It's
       nice to be able to discard parts of that.
     * RD: In the current spec, where we've done . for the context, all of
       those will need updating.
     * MK: Yes, if we do this, we'll have to update the standard
       functions.

   MK isn't sure that it makes sense to attempt to go through in too much
   detail. Reviews the non-diff version because of the changes caused by
   reorganizing things into subsections.
     * MK: Most of the change is in 5.18.1...
     * JL: Why are the record types functions rather than just values?
     * MK: Probably to emphasize that you expect them to be evaluated
       lazily; that's probably particularly true of last().
          + ... We could leave out the brackets and make them properties
            rather than methods.
     * CG: One advantage of a simple map is that it makes it clear that
       the values you get are specific to when the function was called.
     * RD: I'm in favor of them being ordinary variables.

   ACTION QT4CG-025-02: MK to make the context function properties simple
   values instead of functions
     * MK: I think we're looking for agreement in principle.
     * CG: The $ character needs to be removed
     * MK: Yes, that's a typo.
     * JL: In XSLT, we have a parallel where it's a variable (in catches
       and things).
     * MK: Yes, we define magic variables there. There are other places
       where we define magic functions.
     * RD: XQuery does the same thing for variables in the catch
       expression.
     * MK: If it's a magic variable, what namespace does it have to be in?
     * NW: We can leave it a function and not have to answer that
       question!
     * CG: A function also makes it clear that it changes when called in
       different places.
     * JL: Can you bind it to a variable?
     * MK: Yes, but the scope is going to be in your initializer so it
       can't escape.

   Proposal: accept this PR in principle, action to MK to expand it

   Accepted.

   ACTION QT4CG-025-03: MK to revise and expand technical detail in PR
   #375

2.2. PR #378: Update the localName and unparsed entity reference notes for
parse-html

   See [23]pull request #378.
     * RD: This is a straightforward change; I've changed "must" to "will"
       in various cases where we're referring to ASCII lower case and
       changed "unparsed" to "unknown".

   Some discussion of the "unparsed-entity-public-id" accessor. It's not
   relevant because HTML5 doesn't have unparsed entities.

   ACTION QT4CG-025-04: RD to remove the note in 15.5.15 of functions and
   operators.

   Proposal: Accept as ammended?

   Accepted.

2.3. PR #371: Issue 370: forwards and backwards compatibility for 4.0

   See [24]pull request #371.
     * MK: This was editorially updating some things to say 4.0 instead of
       3.0.

   Proposal: Accept this PR?

   Accepted.

2.4. PR #364: Generalize switch expressions in XQuery

   See [25]pull request #364.
     * CG talks us through the changes to the switch expression.
          + ... In the new version you can supply arbitrary lists of
            expressions in the switch expressions. If any expression
            matches, then the case is accepted. If it's an empty
            expression it works as before.

   Proposal: Accept this PR?

   Accepted.

2.5. PR #363: Issue 345; missing rules for type matching

   See [26]pull request #363.
     * MK: This was a fairly obvious omission. I've added a few notes and
       clarified what schema types are.
          + ... Local union type and enumeration types are "schema types"
          + ... etc.

   ACTION QT4CG-025-05: MK to correct the accidental deletion in 3.6.2 of
   XQuery
     * MK: The new rule in 3.6.2 is what was missing.
          + ... The rest is expanding on the definitions and editorial
            improvements.

   Proposal: Accept this PR as amended?

   Accepted.

2.6. PR #355: Add to imp-defined-feature-appendix

   See [27]pull request #355.

   ACTION QT4CG-025-06: NW to fix the "blue boxes" in the serialization
   specification
     * MK: Adds two implement-defined features

   Proposal: Accept this PR?

   Accepted.

2.7. PR #344: Issue 22: allow "for"/"let" keyword to be repeated in XPath

   See [28]pull request #344.
     * MK: This one is a little bit more substantial.
          + ... Tidies up the language about iterating in 4.12
          + ... Slightly refactors the syntax but essentially let's you
            have two for clauses. It's syntactic sugar to let you write
            expressions in XPath that look more like XQuery.
     * MSM: The refactoring of SimpleForBinding seems to make a
       grammatical change is that intended?
          + ... If I'm reading the grammar correctly, in the old grammar
            the keyword member is optional before the first keyword
            binding in a for, but not in one following a comma. Now it is
            allowed in front of any variable binding.
     * MK: Yes, that's correct. Now you can control member for each one
       independently.
     * RD: I created an issue ([29]#49) for this.
          + This goes into the discussion of the for-member functionality
            that was added before we convened as a group.
     * MK: Let's check what the non-diff syntax looks like.
          + ... The member keyword doesn't propagate. If you say member
            your iterating over an array; otherwise you're iterating over
            a sequence.
     * MK: The PR does the same thing for let.
     * JL: We have an error case when its not an array and you use member.
       I didn't see an error code.

   ACTION QT4CG-025-07: MK to update the text about for/let changes to use
   use definitions and termrefs correctly. ACTION QT4CG-025-08: MK to add
   an error code for the case where member is used on something that isn't
   an array

   Proposal: Accept this PR?

   Accepted.

2.8. PR #347: Attempt to clarify fn:parse-uri and fn:build-uri

   See [30]pull request #347.
     * NW walks through the changes.

   ACTION QT4CG-025-09: NW to add the parse-uri and build-uri tests to the
   test suite

   Proposal: Accept this PR?

   Accepted.

3. Any other business

   None heard.

References

   1. https://qt4cg.org/meeting/minutes/2023/03-07.html#minutes
   2. https://qt4cg.org/meeting/minutes/2023/03-07.html#new-actions
   3. https://qt4cg.org/meeting/minutes/2023/03-07.html#administrivia
   4. https://qt4cg.org/meeting/minutes/2023/03-07.html#roll-call
   5. https://qt4cg.org/meeting/minutes/2023/03-07.html#agenda
   6. https://qt4cg.org/meeting/minutes/2023/03-07.html#approve-minutes
   7. https://qt4cg.org/meeting/minutes/2023/03-07.html#next-meeting
   8. https://qt4cg.org/meeting/minutes/2023/03-07.html#open-actions
   9. https://qt4cg.org/meeting/minutes/2023/03-07.html#technical-agenda
  10. https://qt4cg.org/meeting/minutes/2023/03-07.html#h-074E7C57-5C3A-4FA8-AF9E-EAFE0F504864
  11. https://qt4cg.org/meeting/minutes/2023/03-07.html#h-7AC1783C-19E6-4163-8BE0-236FBABFE76E
  12. https://qt4cg.org/meeting/minutes/2023/03-07.html#h-EDC3E35B-2AD7-4E6F-B92D-4369CF84D8DC
  13. https://qt4cg.org/meeting/minutes/2023/03-07.html#pr364
  14. https://qt4cg.org/meeting/minutes/2023/03-07.html#pr363
  15. https://qt4cg.org/meeting/minutes/2023/03-07.html#pr355
  16. https://qt4cg.org/meeting/minutes/2023/03-07.html#h-751A3ADC-981F-4AB4-BFE4-523B8CD342C7
  17. https://qt4cg.org/meeting/minutes/2023/03-07.html#h-9AF44047-B476-419D-A158-13D6BD879D4C
  18. https://qt4cg.org/meeting/minutes/2023/03-07.html#any-other-business
  19. https://qt4cg.org/meeting/agenda/2023/03-07.html
  20. https://qt4cg.org/meeting/minutes/2023/02-28.html
  21. https://qt4cg.org/meeting/agenda/2023/03-14.html
  22. https://qt4cg.org/dashboard/#pr-375
  23. https://qt4cg.org/dashboard/#pr-378
  24. https://qt4cg.org/dashboard/#pr-371
  25. https://qt4cg.org/dashboard/#pr-364
  26. https://qt4cg.org/dashboard/#pr-363
  27. https://qt4cg.org/dashboard/#pr-355
  28. https://qt4cg.org/dashboard/#pr-344
  29. https://github.com/qt4cg/qtspecs/issues/49
  30. https://qt4cg.org/dashboard/#pr-347

                                        Be seeing you,
                                          norm

--
Norm Tovey-Walsh
Saxonica

Received on Tuesday, 7 March 2023 17:16:43 UTC