---- On Tue, 10 Aug 2010 12:17:36 -0700 Stéphane Ducasse  wrote ---- 

>>> 
>> 
>> The infinitive in English is two words with possibly other words separating 
>> them, the word "to" and then the verb lacking any "s" or "es" or other 
>> tense, number or person modifiers: "to program" or "to code." 
> 
>Thanks. I know the difference :) I meant in method selectors include: vs 
>includes: 

I think #includes*, #has* and similar messages use the third person singular so 
that when you use them in an expression like this:
aCollection includes: anObject
What you are really doing is affirming something (inclusion of an object) about 
some subject, (a collection). A sentence with a subject and a predicate that 
affirms or denies something about that subject is a proposition, and 
propositions in two-valued logic are either true or false (just as the 
smalltalk expression above would be when evaluated).

> 
>isPreservingCDataSections 
>doesPreserveCDataSections 

The first form is already in use elsewhere in the API and has some advantages 
over the third person singular form (the "is" prefix). However, it can also 
imply an unnecessary temporal restriction to the present. For example, compare 
#resolvesExternalEntities with #isResolvingExternalEntities. The second 
selector could just mean--if true--that the parser supports resolution of 
external entities, but it could also mean that the parser is right now, at this 
very moment, resolving external entities. While the "does" form does not suffer 
from these ambiguities, it is also the longest and ugliest of bunch.

> 
>Yes but it looks like an order too and I do not understand the difference 
>between 
>using 
>    preserveSCD.... 
>and 
>    parseDocument (with no S after parseDocument) 

Imperative forms of a verb in English never have an "s" or "es" at the end of 
them. That means #preservesCDataSections (or #includes: or any other similar 
message) could never be taken to be an imperative command given to the receiver 
and instead must form, with the receiver and any arguments, some type of 
propositional sentence that is either true or false.

>I follow Beck and Smalltalk with Style (see my web page) convention. 

I have read Kent's Smalltalk Best Practice Patterns, though not the other one. 
I will check it out, and I appreciate your feedback, Stéphane.


_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Reply via email to