[swift-evolution] API Guidelines Update
taras.zakharko at uzh.ch
Thu Feb 18 00:49:02 CST 2016
> On 18 Feb 2016, at 06:44, Dave Abrahams via swift-evolution <swift-evolution at swift.org> wrote:
>> Also, you could infer "x.expanding..." alone to mean "x, *by*
>> expanding..." or "*whether *x *is* expanding...",
> Only by adding words that aren't there.
I think what Jacob is trying to say is that an ‘-ing’ form does not have a clearly defined semantics in English. Depending on the construction, the meaning can differ. This creates potential confusion, as many people have pointed out earlier. Taking x.expanding() again, it is clear that guidelines intend an irrealis reading ‘if x were expanded, it would be’ or a resultative reading ‘x,after it has been expanded’. However, this is NOT a very typical reading associated with -ing forms. In particular, other, more conventional readings include:
- converb construction (x is standing there, expanding)
- atelic action/focus on a subprocess (x is expanding)
- statement about a quality (x is expanding = x is of a quality that it is an expanding one)
- question, by modifying prosody: (is x ) expanding?
I believe that it is somewhat unfortunate that the guidelines (correctly, IMO) promote verbosity over luck of clarity and then at the same time introduce semantically obscure or outright weird notions based on the ‘-ing’ forms. Something like ‘x.havingAdded(e)’ communicates the intent much better than ‘x.adding(e)’ (which reads like a notification), and yet more clear is ‘concatenate(x, e)’.
So going back to ‘adding words that aren’t there’ — by promoting this guideline rule, you are already doing this. But I digress. As a linguist, I am not very fond of this aspect of the guidelines, but if they are applied consistently, people will get used to them. Just don’t make a mistake and believe they are ‘grammatical’ — they are not, they are creating new conventional readings which are fairly untypical under normal language use.
>> so there might be some cases where it's easy to confuse Bool
>> properties with non-Bools.
> I don't get it; sorry...
> swift-evolution mailing list
> swift-evolution at swift.org <mailto:swift-evolution at swift.org>
> https://lists.swift.org/mailman/listinfo/swift-evolution <https://lists.swift.org/mailman/listinfo/swift-evolution>
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the swift-evolution