Conversation
…ies across documentation
The term “keyword arguments” has become ambiguous in the documentation due to the recent introduction of “arbitrary keyword arguments” (|... args, kwargs|) in Function definitions.
Historically, The SuperCollider Book and earlier documentation used “keyword arguments” exclusively to mean keyword argument calls (message‑passing syntax), without ambiguity.
This commit standardises terminology across all relevant documents to remove confusion and ensure consistent usage.
- The overloaded term “keyword arguments” is now split into:
- “keyword argument calls” (message‑passing syntax: f.(x: 1, y: 2))
- “arbitrary keyword arguments” (Function definition: |... args, kwargs|)
- Likewise:
- “positional arguments” has been clarified as “positional argument calls”
- The terminology for function arguments has been standardised as follows:
- declared arguments
- variable arguments
- variadic positional arguments
- arbitrary keyword arguments
All occurrences found in the documentation have been updated for consistency.
If the community prefers alternative terminology, the following substitutions remain entirely possible:
- “keyword argument calls” → “keyword arguments”
- “positional argument calls” → “positional arguments”
- “declared arguments”, “variadic positional arguments”, and “arbitrary keyword arguments” may be replaced with any agreed‑upon terms.
This commit provides a consistent baseline from which such future adjustments may be made.
key–value pair usage and argument terminology across documentation
|
I have reviewed most of the help files related to key–value pairs and keyword arguments. Up to SC 3.13, this term appears to have referred exclusively to the keyword‑argument syntax used in function calls.
This PR aims to resolve the resulting ambiguity and standardise the terminology across the documentation. Unify terminology for keyword arguments and function argument categories across documentation The term “keyword arguments” has become ambiguous in the documentation due to the recent introduction of “arbitrary keyword arguments” (|... args, kwargs|) in Function definitions. Historically, The SuperCollider Book and earlier documentation used “keyword arguments” exclusively to mean keyword argument calls (message‑passing syntax), without ambiguity. This commit standardises terminology across all relevant documents to remove confusion and ensure consistent usage.
All occurrences found in the documentation have been updated for consistency. If the community prefers alternative terminology, the following substitutions remain entirely possible:
This commit provides a consistent baseline from which such future adjustments may be made. |
This term seems a little off to me. Perhaps just 'keyword arguments'? Then at the call sight we have positional arguments and keyword arguments.
I think this one should be 'variadic keyword arguments'. |
OK, I can revert it, and it is better not to change the term has used for a long time.
The term “arbitrary keyword arguments” is introduced by @telephon in the news in SC3.14: If @telephon does not object, in this PR’s last status:
I will not touch the supercollider/HelpSource/Guides/News-3_14.schelp. |
key–value pair usage and argument terminology across documentationkey–value pair usage and argument terminology across documentation
|
Otherwise, in the final status of this PR, we could:
|
|
The term For consistency across SC versions and to avoid ambiguity, I think continuing to use |
|
I agree (with using the term "arbitrary kwargs" for SC), but it's also helpful to include the reference to the wider technical term (variadic) somewhere (just once in the glossary and maybe in Function.schelp, not everywhere) E.g., add "arbitrary kwargs" to glossary: |
|
I think you mean In my opinion, Let’s see what other developers say. |
closes: #7491, #7207
Note: This PR is now larger than initially intended.
It began with clarifying key–value pair usage, but it now also standardises
argument terminology throughout the documentation for consistency.
See the explanation in d4a8ff7.
Purpose and Motivation
Improves the documentation of key–value pair syntax for several subclasses of link::Classes/Collection::.
The explanation is written with beginners in mind, inspired by a recent question on the scsynth forum.
See #7491.
Types of changes
To-do list