Today I was reading a programming book and I encountered the following sentence (emphases mine):

In this case, for example, the type that all three compilers report for param are incorrect.

I'm not an English native speaker but since the very first moment I went through that statement I felt like something didn't flow smoothly:

the subject of the sentence (the type) seems to be singular, however the verb that refers to it (are) is plural. Am I missing anything here?

  • 1
    If the sentence is intended to be "The type [that all three compilers report for param] is/are incorrect, then the head of the subject is the singular "type", and the verb should also be the plural “is”. The bracketed relative clause is simply an optional modifier; dropping it makes things clearer: “the type is incorrect”, where only singular "is" is possible.
    – BillJ
    Commented Jun 11, 2018 at 10:36
  • Note also that the antecedent of "that" is "type", which functions as object of "report", thus "all three compilers report the type for param is incorrect". Plural "are" is simply not possible at all, so I can't see what Oliver is getting at.
    – BillJ
    Commented Jun 11, 2018 at 11:35
  • @BillJ It is a bit of a laboured interpretation, admittedly, but the point is that while each compiler only reports one type, the result of three compilers reporting a type each is a set of three types, so the 'logical' subject of are could be a plural, even though grammatically it is expressed in the singular (as it applies to each compiler separately). Commented Jun 11, 2018 at 12:20
  • But we cannot get around the fact that the head of the NP subject is the singular "type", and it's this that determines the verb for number agreement purposes. Also, I believe that the original author of this particular sentence used "is".
    – BillJ
    Commented Jun 11, 2018 at 13:13
  • 1
    This is a good place for a reduced passive relative: The types reported for paramby all three compilers are incorrect. Commented Jun 11, 2018 at 19:34

1 Answer 1


There are different interpretations:

  1. All three compilers report the same type, which is incorrect. In that case it should be singular is.

  2. Each compiler reports a different type. So all three types are not correct, but they are not the same either. In that case are is fine.

While each compiler only reports a single type, there are three of them, and so the resulting list of types might contain several different ones or just one and the same.

UPDATE: The text (Scott Meyers' Effective C++) continues with the sentence Furthermore, they're essentially required to be incorrect [...], so with a plural reference. This indicates to me that the author indeed means to refer to the three types; but uses the singular type as each compiler only reports one. It is an interesting usage, though types would probably have been less confusing in this instance.

  • The three compilers described in the book effectively report the same type but one of them uses a different notation. Does that mean that "are" is fine?
    – brainplot
    Commented Jun 11, 2018 at 10:23
  • @brainplot Depends; different to tell without knowing the exact notation. I would guess the author regards them as different, then are would make sense. Otherwise it should be is. But it's impossible to know the author's reasoning! Commented Jun 11, 2018 at 10:46
  • thank you! I'm going to just upvote this question for now. I will gladly accept it in case no one else shows up :)
    – brainplot
    Commented Jun 11, 2018 at 10:55
  • Accepted. I too find it to be an interesting usage. P.S. The author's last name is Meyers (note the final 's') :)
    – brainplot
    Commented Jun 11, 2018 at 20:16
  • @brainplot Thanks -- I missed that. Corrected it in the answer. Commented Jun 11, 2018 at 20:18

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.