6

I saw a sentence when reading some technical articles:

When we call this function, it expects the second parameter to be of type Collection. The actual argument is of type Collection.

So my question is why use "of" in this sentence? Does it change some meaning for this sentence? Can I delete the "of" and directly say, "The actual argument is type Collection"?

2
  • 1
    It's short for it expects the second parameter to be [a parameter which is] of type Collection. Conjunction Reduction gets rid of the second parameter, followed by Whiz-Deletion on which is. Just ordinary clause reduction rules. Commented Oct 26, 2013 at 22:49
  • I think you are right @JohnLawler
    – JoJo
    Commented Oct 26, 2013 at 23:10

1 Answer 1

11

Strictly speaking, you may not omit the of.

It is not true that the argument is the type: it is an instance of the type, or an example of the type, or a member of the type. It is this sense of membership which is expressed by of.

In speech or non-formal writing you can get away with omitting of in very simple constructions like this, where you just give the name of the type—A is type B. But with more complex constructions you cannot, even in informal contexts; you need of and a determiner:

   ∗It expects the parameter to be type not yet defined.
OKIt expects the parameter to be of a type not yet defined.

    ∗It expects the parameter to be type we encountered in section 3.4.
OKIt expects the parameter to be of the type we encountered in section 3.4.

When you're writing stuff like this you're probably using a fairly formal register. So why burden yourself with learning a different pattern for informal registers and having to decide each time how formal the immediate situation is and which one you should use? Use the formal construction all the time and you won't be wrong.

2
  • Your answer is of great help :)
    – asterix314
    Commented Oct 27, 2013 at 10:31
  • I really like the way you explained your answer. Thanks!
    – Tarik
    Commented Oct 13, 2014 at 15:53

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .