QT4CG meeting 077 draft minutes, 14 May 2024

Hello,

Here are the draft minutes from today’s meeting:

   https://qt4cg.org/meeting/minutes/2024/05-14.html

QT4 CG Meeting 077 Minutes 2024-04-30

Table of Contents

     * [1]Draft Minutes
     * [2]Summary of new and continuing actions [0/5]
     * [3]1. Administrivia
          + [4]1.1. Roll call [12/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 [3/7]
          + [10]1.6. Review of open pull requests and issues
               o [11]1.6.1. Merge without discussion
               o [12]1.6.2. Close without action
     * [13]2. Technical Agenda
          + [14]2.1. PR #1206: 1195 Hash Function: CRC-32
          + [15]2.2. PR #1068: 73 fn:graphemes
          + [16]2.3. PR #1205: 1196 Math Functions: math:e, math:sinh,
            math:cosh, math:tanh
          + [17]2.4. PR #1204: 1203 Define out-of-range conditions in CSV
            get function
          + [18]2.5. PR #1198: 1189 distinct document order
          + [19]2.6. PR #1117: 1116 Add options param to unparsed-text
     * [20]3. Any other business
     * [21]4. Adjourned

   [22]Meeting index / [23]QT4CG.org / [24]Dashboard / [25]GH Issues /
   [26]GH Pull Requests

Draft Minutes

Summary of new and continuing actions [0/5]

     * [ ] QT4CG-063-06: MK to consider refactoring the declare item type
       syntax to something like declare record
     * [ ] QT4CG-071-06: NW to clarify the cases that are distinguished by
       the leading empty string in path segments
     * [ ] QT4CG-072-03: NW to clarify the round-tripping of URIs
     * [ ] QT4CG-073-01: NW to proceed with the records/options proposal
       and make a PR.
     * [ ] QT4CG-077-01: DN to create an issue for adding Blake-3.
     * [ ] QT4CG-077-02: JK to correct the reference to TR29.
     * [ ] QT4CG-077-03: MK to add a note about document order across
       documents
     * [ ] QT4CG-077-04: MK to review inconsistencies discovered in review
       of #1117

1. Administrivia

1.1. Roll call [12/12]

     * [X] Reece Dunn (RD)
     * [X] Sasha Firsov (SF)
     * [X] Christian Gr¸n (CG)
     * [X] Joel Kalvesmaki (JK)
     * [X] Michael Kay (MK)
     * [X] Juri Leino (JLO)
     * [X] John Lumley (JLY)
     * [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

   Proposal: Accept [27]the agenda.

   Accepted.

1.2.1. Status so far...

   issues-open-2024-05-14.png

   Figure 1: "Burn down" chart on open issues

   issues-by-spec-2024-05-14.png

   Figure 2: Open issues by specification

   issues-by-type-2024-05-14.png

   Figure 3: Open issues by type

1.3. Approve minutes of the previous meeting

   Proposal: Accept [28]the minutes of the previous meeting.

   Accepted.

1.4. Next meeting

   The next meeting [29]is scheduled for Tuesday, 21 May 2024.

   RD gives regrets. JLY gives regrets for three weeks.

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

     * [ ] QT4CG-063-06: MK to consider refactoring the declare item type
       syntax to something like declare record
     * [ ] QT4CG-071-06: NW to clarify the cases that are distinguished by
       the leading empty string in path segments
     * [ ] QT4CG-072-03: NW to clarify the round-tripping of URIs
     * [ ] QT4CG-073-01: NW to proceed with the records/options proposal
       and make a PR.
     * [X] QT4CG-075-01: MK to drop the deterministic option and raise it
       as a separate issue.
     * [X] QT4CG-075-02: MK to define sequence-concatenation more formally
       with links where appropriate
     * [X] QT4CG-076-01: MK to draft an editorial proposal to add more
       examples.

1.6. Review of open pull requests and issues

1.6.1. Merge without discussion

   The following PRs are editorial, small, or otherwise appeared to be
   uncontroversial when the agenda was prepared. The chairs propose that
   these can be merged without discussion. If you think discussion is
   necessary, please say so.
     * PR [30]#1200: QT4CG-075-02 Define the term sequence concatenation
     * PR [31]#1190: 1188 XQFO hash

   Proposal: Accept without discussion.

   Accepted.

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 [32]#572: fn:evaluate-xpath() function
     * Issue [33]#369: Namespaces for Functions
     * Issue [34]#162: Support unbounded variadic functions on map
       parameter keys
     * Issue [35]#146: fn:apply with last two arguments (array, map) for
       the positional and keyword args in a func-call

   Proposal: Close without further action.

   Accepted.

2. Technical Agenda

   Moved #1181 into the agenda.

2.1. PR #1206: 1195 Hash Function: CRC-32

   See PR [36]#1206.

   CG introduces the issue. Proposes we add CRC-32.
     * RD: Do we need to specify string output?

   Some discussion of how to return a long.
     * DN: Possible values for the method name, are they something all
       implementation should provide.
     * CG: Yes, the current set is the three values listed, and I propose
       adding one more. Implementations can always add more.
     * DN: Then I propose that we add Blake-3. It has no known security
       issues and it's extremely fast.
     * RD: There's an Apache commons implementation in Java.

   ACTION: QT4CG-077-01 DN to create an issue for adding Blake-3.

   Some discussion of how the result is represented in hexBinary.
     * MSM: Observes that a Java long is 64 bits so we don't want some
       libraries to return 64 bits of hexBinary.
     * JLY: Users have to know that they're working with bits. If the
       result of the calculation is 32 bits, then that's what you have to
       produce.
     * DN: I think we're in a position to have a hashset type in the
       future.
     * MSM: I think JL is right, but if we expect users to do that, then
       the description of these algorithms needs to say how many bits are
       to be returned.
     * RD: My point was that it might be worth adding a comment saying
       that the computed long value is represented as a 32 bit hexBinary
       value.

   Proposal: Accept this PR.

   Accepted.

2.2. PR #1068: 73 fn:graphemes

   See PR [37]#1068

   JK reviews the PR issue and the PR.
     * JK: I became convinced that a lot of non-latin based language users
       would really benefit from this function. The function characters
       isn't sufficient.
          + ... Unicode provides a definition of graphemes, see TR15.
          + ... (JK walks through the examples.)
               o ... Unicode defines two different types of graphemes, I'm
                 proposing we ignore the "legacy" graphemes.
          + ... I've converted the Unicode tests to the QT4 test suite.
     * CG: I think it's easy to implement in Java.
     * MSM: The link to TR29 is in error - it points to TR 15.

   ACTION: QT4CG-077-02 JK to correct the reference to TR29.

   Proposal: Accept this PR.

   Accepted.

2.3. PR #1205: 1196 Math Functions: math:e, math:sinh, math:cosh, math:tanh

   See PR [38]#1205.
     * CG: I propose to add a few more functions mentioned in the IEEE
       specification.
          + ... math:e, math:sinh, math:cosh, math:tanh
          + ... It's unclear what an "invalid operation" is in this
            context.
     * RD: Usually these functions are defined in a specific, limited
       range, say 0 to Ωpi

   Some discussion of invalid operations; concluding that nothing needs to
   be changed.
     * JL: It's a long time since I used these, but I don't think there's
       a problem here. The invalid one would come in where you were doing
       the inverse functions.

   Further discussion of invalid values.
     * DN: I see a new constant. If this continues, we'll have lots of new
       functions that aren't really function. There are constants in
       chemistry, physics, etc. Should we rather have a constant function?
     * CG: I think we should have a separate discussion for that.
     * MSM: If I've understood correctly, they're defined in IEEE as
       functions.

   Proposal: Accept this PR.

   Accepted.

2.4. PR #1204: 1203 Define out-of-range conditions in CSV get function

   See PR [39]#1204.

   MK introduces the issue.
     * MK: This is simply an omission from the CSV spec.
          + ... The change is simply to say that if the value of the row
            is out of range, we return a zero length string.
          + ... This is for parallelism with the rule for a column out of
            range.

   Proposal: Accept this PR.

   Accepted.

2.5. PR #1198: 1189 distinct document order

   See PR [40]#1198.

   MK introduces the issue.
     * MK: This is a primitive invoked by quite a few operators. This
       makes it directly accessible as a function.

   MK describes the new function, distinct-ordered-nodes.
     * JL: Does it have any differences from the application of the union
       operator?
     * MK: No, but I didn't want to define it in terms of those, because I
       think they should be defined on top of this primitive.
     * JLO: What happens if we have a node set spanning several documents?
     * MK: At the moment, I just refer to document order. There's a
       definition there for the case of multiple documents.
     * DN: I wanted to raise the same question as JLO.
          + ... I commented on this issue, the name of the function is
            misleading because the order will not always be the same
            across implementations if there are nodes in different
            documents. There should be more discussion or perhaps make the
            function have a different name.
     * MK: You can never capture the entire semantics for a function in
       its name.
     * MSM: I'm a little confused. I would have thought that anyone who
       does serious work with multiple documents would be expect to know
       that document order of documents is implementation dependent.
          + ... If that's not always so, I think DN may be correct to say
            a little more here, but I think MK is also right that we don't
            want to repeat things.
          + ... I would propose just a single note here that calls
            attention to the fact.
     * JLY: I agree a note here would be good.
     * WP: I can use a variable to sequence documents. I agree that this
       can be dealt with by careful glossing. But maybe an example would
       also help.

   Proposal: Accept this PR.

   Accepted.

   ACTION: QT4CG-077-03 MK to add a note about document order across
   documents

2.6. PR #1117: 1116 Add options param to unparsed-text

   See PR [41]#1117

   MK introduces the issue.
     * MK: All this does is add an option to normalize newlines, false by
       default.
          + We added normalization but discovered it caused backwards
            compatibility problems.
     * DN: I hope there are defaults for these options.
     * MK: Oh, yes, and the default is to be compatible with what we had
       before.
     * JLO: I like this change. It's something I can build on for other
       functions.
          + ... Are there any more options that we could use here?
          + ... What about the options that we can pass to the collection
            function the URI?
     * MK: With anything that reads XML, there are lots of potential
       options.
     * CG: I think we should drop this option or to make it have specific
       values.

   Some discussion of what the effects are.

   ACTION: QT4CG-077-04 MK to review inconsistencies discovered in review
   of #1117

3. Any other business

   None heard.

   Next week: Agenda for Prague; perhaps have a Zoom wrap-up at the end of
   each day.

4. Adjourned

References

   1. https://qt4cg.org/meeting/minutes/2024/05-14.html#minutes
   2. https://qt4cg.org/meeting/minutes/2024/05-14.html#new-actions
   3. https://qt4cg.org/meeting/minutes/2024/05-14.html#administrivia
   4. https://qt4cg.org/meeting/minutes/2024/05-14.html#roll-call
   5. https://qt4cg.org/meeting/minutes/2024/05-14.html#agenda
   6. https://qt4cg.org/meeting/minutes/2024/05-14.html#so-far
   7. https://qt4cg.org/meeting/minutes/2024/05-14.html#approve-minutes
   8. https://qt4cg.org/meeting/minutes/2024/05-14.html#next-meeting
   9. https://qt4cg.org/meeting/minutes/2024/05-14.html#open-actions
  10. https://qt4cg.org/meeting/minutes/2024/05-14.html#open-pull-requests
  11. https://qt4cg.org/meeting/minutes/2024/05-14.html#merge-without-discussion
  12. https://qt4cg.org/meeting/minutes/2024/05-14.html#close-without-action
  13. https://qt4cg.org/meeting/minutes/2024/05-14.html#technical-agenda
  14. https://qt4cg.org/meeting/minutes/2024/05-14.html#h-DAF5929A-7ACB-42BC-9897-7D1284FCAACE
  15. https://qt4cg.org/meeting/minutes/2024/05-14.html#pr-1068
  16. https://qt4cg.org/meeting/minutes/2024/05-14.html#h-09E91844-EA79-4154-919F-619AF5ECE138
  17. https://qt4cg.org/meeting/minutes/2024/05-14.html#h-50D3BF36-C162-43B8-B0D1-0522E6CBA8E1
  18. https://qt4cg.org/meeting/minutes/2024/05-14.html#h-9CC122BD-1CBE-43B2-B53E-3948F05FE1C6
  19. https://qt4cg.org/meeting/minutes/2024/05-14.html#pr-1117
  20. https://qt4cg.org/meeting/minutes/2024/05-14.html#any-other-business
  21. https://qt4cg.org/meeting/minutes/2024/05-14.html#adjourned
  22. https://qt4cg.org/meeting/minutes/
  23. https://qt4cg.org/
  24. https://qt4cg.org/dashboard
  25. https://github.com/qt4cg/qtspecs/issues
  26. https://github.com/qt4cg/qtspecs/pulls
  27. https://qt4cg.org/meeting/agenda/2024/05-14.html
  28. https://qt4cg.org/meeting/minutes/2024/05-07.html
  29. https://qt4cg.org/meeting/agenda/2024/05-21.html
  30. https://qt4cg.org/dashboard/#pr-1200
  31. https://qt4cg.org/dashboard/#pr-1190
  32. https://github.com/qt4cg/qtspecs/issues/572
  33. https://github.com/qt4cg/qtspecs/issues/369
  34. https://github.com/qt4cg/qtspecs/issues/162
  35. https://github.com/qt4cg/qtspecs/issues/146
  36. https://qt4cg.org/dashboard/#pr-1206
  37. https://qt4cg.org/dashboard/#pr-1068
  38. https://qt4cg.org/dashboard/#pr-1205
  39. https://qt4cg.org/dashboard/#pr-1204
  40. https://qt4cg.org/dashboard/#pr-1198
  41. https://qt4cg.org/dashboard/#pr-1117

                                        Be seeing you,
                                          norm

--
Norm Tovey-Walsh
Saxonica

Received on Tuesday, 14 May 2024 16:54:32 UTC