<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://www.w3.org/Bugs/Public/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4"
          urlbase="https://www.w3.org/Bugs/Public/"
          
          maintainer="sysbot+bugzilla@w3.org"
>

    <bug>
          <bug_id>3211</bug_id>
          
          <creation_ts>2006-05-09 07:59:49 +0000</creation_ts>
          <short_desc>[FS] editorial: B.2 Mapping of Overloaded Internal Functions</short_desc>
          <delta_ts>2007-11-04 06:00:05 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>XPath / XQuery / XSLT</product>
          <component>Formal Semantics 1.0</component>
          <version>Candidate Recommendation</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>ASSIGNED</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>minor</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Michael Dyck">jmdyck</reporter>
          <assigned_to name="Michael Dyck">jmdyck</assigned_to>
          
          
          <qa_contact name="Mailing list for public feedback on specs from XSL and XML Query WGs">public-qt-comments</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>9623</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Dyck">jmdyck</who>
    <bug_when>2006-05-09 07:59:49 +0000</bug_when>
    <thetext>B.2 Mapping of Overloaded Internal Functions

STA
&quot;The following static typing rules apply generically to all the fs:
special functions.&quot;
    This should be conveyed by the inference rules too. I.e., add
        expanded-QName = (FS-URI,String)
        String in {&quot;plus&quot;,&quot;minus&quot;,&quot;times&quot;,&quot;idiv&quot;,&quot;div&quot;, ...}
    (directly or indirectly) to each rule.  (leftover from Bug 1580)

STA / rule 1
    The top set of premises is only satisfied if every Typei is a union of
    the same number (m) of OptAtomicTypes, which is not what you want.
    You could fix this by making the m&apos;s distinct:
        ... OptAtomicType&lt;sub&gt;m&lt;sub&gt;1&lt;/sub&gt;,1&lt;/sub&gt;
        ... OptAtomicType&lt;sub&gt;m&lt;sub&gt;n&lt;/sub&gt;,1&lt;/sub&gt;
    But then what would you do in the second set of premises?
    If you want the rule to consider all possible combinations of argument
    types, you probably need a recursive rule, e.g.

        Typei = (OptAtomicType1 | ... | OptAtomicTypem)
        statEnv |- expanded-QName(Type1, ..., OptAtomicType1, ..., Typen) :
            Type1&apos;
        ...
        statEnv |- expanded-QName(Type1, ..., OptAtomicTypem, ..., Typen) :
            Typem&apos;
        -----------------------------------------------
        statEnv |- expanded-QName(Type1, ..., Typen) : (Type1&apos; |...| Typem&apos;)

    If you concede that the only possibilities are n=1 or n=2, you could
    split this rule into three simpler rules.

STA / rule (2|3|4|5|6|7) / conclusion
HTML source:
&lt;em&gt;&lt;a href=&quot;#id-expanded-qnames&quot;&gt;&lt;em&gt;expanded-QName&lt;/em&gt;&lt;/a&gt;&lt;/em&gt;
    Remove outer &lt;em&gt;&lt;/em&gt;.

STA / rule (4|5|6|8|9)
&quot;AtomicType&quot;
    AtomicType is a SequenceType, not a Formal Type. Instead,
    you probably mean AtomicTypeName, which *is* a Formal Type.

STA / rule 7
    The rule needs a premise: Type1 = empty

Notation 2 / rule (1|2)
&quot;AtomicType&quot;
    As above, change to AtomicTypeName.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>12334</commentid>
    <comment_count>1</comment_count>
    <who name="Michael Dyck">jmdyck</who>
    <bug_when>2006-10-06 07:31:56 +0000</bug_when>
    <thetext>
&gt; &quot;The following static typing rules apply generically to all the fs:
&gt; special functions.&quot;
&gt;     This should be conveyed by the inference rules too. I.e., add
&gt;         expanded-QName = (FS-URI,String)
&gt;         String in {&quot;plus&quot;,&quot;minus&quot;,&quot;times&quot;,&quot;idiv&quot;,&quot;div&quot;, ...}
&gt;     (directly or indirectly) to each rule.  (leftover from Bug 1580)

    Or, each rule could have a premise saying
        expanded-QName is an overloaded internal function
    where you define that with a rule like:

        LocalPart in {
          &apos;plus&apos;, &apos;minus&apos;, &apos;times&apos;, &apos;idiv&apos;, &apos;div&apos;, &apos;mod&apos;,
          &apos;eq&apos;, &apos;ne&apos;, &apos;gt&apos;, &apos;lt&apos;, &apos;ge&apos;, &apos;le&apos;, &apos;is-same-node&apos;,
          &apos;node-before&apos;, &apos;node-after&apos;, &apos;unary-plus, &apos;unary-minus&apos; }
        ----------------
        (FS-URI,LocalPart) is an overloaded internal function
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>14202</commentid>
    <comment_count>2</comment_count>
    <who name="Jim Melton">jim.melton</who>
    <bug_when>2007-02-26 00:13:27 +0000</bug_when>
    <thetext>The fix for this bug does not appear in the Recommendation of 23 January 2007. 
It will be considered for a future publication (either an Errata document or
some possible future version of the specification). </thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>