This dialogue is from the textbook for ESL students:
Last night I went to a party and met an old friend of mine. We haven’t seen each other for years, so we had lots to talk about.”
I thought that “we haven’t seen each other for years” should be “we hadn’t seen each other for years.” They met each other last night already. However, this is from a textbook; my question is whether this usage is common in daily casual conversation.
Is it all right to use the present perfect instead of the past perfect, or are there other implications?
The “present” is a fairly loose notion. The time it refers to always includes the moment of utterance; but how far it extends into the past or future depends on context, the particular mental picture which the speaker and hearers have of current timeflow.
In this case, the speaker locates encountering and speaking with her old friend in one kind of past, the ‘last night’ past which contrasts with the present she shares with her hearer; but she locates the years when she was out of touch with her friend in a different kind of past, the one she shares with her friend, in which they have only just made contact again.
This sort of timeshifting is deprecated in very formal writing, which does not tolerate ambiguity, but it’s quite common in conversation, where shared context resolves most ambiguities and any misunderstanding can be corrected.
Source : Link , Question Author : tennis girl , Answer Author : StoneyB on hiatus