Re: [heycam/webidl] Use infra notation in Overloading section (#392)

domenic approved this pull request.

LGTM with nits

> -The elements of an effective overload set are tuples of the form
-<|callable|, |type list|, |optionality list|>.  If the effective overload
-set is for regular operations, static operations or legacy callers, then |callable| is an operation;
-if it is for constructors or named constructors, then |callable| is an
-extended attribute; and if it is for callback functions, then |callable|
-is the callback function itself.  In all cases, |type list| is a list
-of IDL types, and |optionality list| is a list of three possible <dfn id="dfn-optionality-value" export>optionality values</dfn> –
-“required”, “optional” or “variadic” – indicating whether
-the argument at a given index was declared as being [=optional argument|optional=]
-or corresponds to a [=variadic=] argument.
-Each tuple represents an allowable invocation of the operation,
+The [=set/items=] of an [=effective overload set=] are [=tuples=] of the form
+([=effective overload set tuple/callable=], [=type list=], [=optionality list=])
+whose [=tuple/items=] are described below:
+
+*   A <dfn for="effective overload set tuple" export>callable</dfn> is an operation

Why export these three definitions?

> -if it is for constructors or named constructors, then |callable| is an
-extended attribute; and if it is for callback functions, then |callable|
-is the callback function itself.  In all cases, |type list| is a list
-of IDL types, and |optionality list| is a list of three possible <dfn id="dfn-optionality-value" export>optionality values</dfn> –
-“required”, “optional” or “variadic” – indicating whether
-the argument at a given index was declared as being [=optional argument|optional=]
-or corresponds to a [=variadic=] argument.
-Each tuple represents an allowable invocation of the operation,
+The [=set/items=] of an [=effective overload set=] are [=tuples=] of the form
+([=effective overload set tuple/callable=], [=type list=], [=optionality list=])
+whose [=tuple/items=] are described below:
+
+*   A <dfn for="effective overload set tuple" export>callable</dfn> is an operation
+    if the effective overload set is for regular operations, static operations or legacy callers;
+    it is an extended attribute if the effective overload set is for constructors or named constructors;
+    and it is the callback function itself if the effective overload set is for callback functions.

While here, this paragraph seems to have a lot of unlinked Web IDL concepts... No need to fix necessarily, but if you're in the area anyway...

> @@ -2921,38 +2927,45 @@ the same operation or constructor.
         the argument on which the ellipsis appears counts as a single argument.
 
         Note: So <code>void f(long x, long... y);</code> is considered to be declared to take two arguments.
-
-    1.  Let |m| be the maximum of |maxarg| and |N|.
-    1.  For each operation, extended attribute or callback function |X| in |F|:
-        1.  Let |n| be the number of arguments |X| is declared to take.
-        1.  Let |t|<sub>0..|n|−1</sub> be a list of types, where |t|<sub>|i|</sub>
-            is the type of |X|’s argument at index |i|.
-        1.  Let |o|<sub>0..|n|−1</sub> be a list of [=optionality values=], where |o|<sub>|i|</sub>
-            is “variadic” if |X|’s argument at index |i| is a final, variadic argument,
-            “optional” if the argument is [=optional argument|optional=],
-            and “required” otherwise.
-        1.  Add to |S| the tuple &lt;|X|, |t|<sub>0..|n|−1</sub>, |o|<sub>0..|n|−1</sub>&gt;.
+    1.  Let |max| be [=max=](|maxarg|, |N|).
+    1.  [=set/For each=] operation, extended attribute or callback function |X| in |F|:

Oxford comma after "extended attribute"

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/heycam/webidl/pull/392#pullrequestreview-54461562

Received on Friday, 4 August 2017 19:53:10 UTC