I've always thought I should use "for ages" when, for example, I meet a person who I haven't seen for a long time, but recently I came across another expression, "in ages," as in "I haven't seen you in ages."
Is it correct to say this?
English Language & Usage Stack Exchange is a question and answer site for linguists, etymologists, and serious English language enthusiasts. It only takes a minute to sign up.Sign up to join this community
While both for and in could be used in the statement you have, in seems to be more prevalent in current usage. However, Google Ngrams indicates that this was not the case always. The use of for in this sentence has declined over time in favour of in.
PS: This is only with reference to negative sentences. Only for is suitable in positive sentences, as John Lawler's comment on polarity item states.
For and in have almost opposite meanings.
For indicates the duration that an activity occurs or a state exists:
In means the duration before some event occurs:
In the discontinuation of a past habitual action, those usages overlap somewhat: we are talking about the length of time that has passed since the event happened, which of course is also the length of time during which the event has not happened.
In does convey the sense of regularity, interrupted regularity in the negative case. For example, if someone belatedly wishes you a happy birthday, you might (sourly) say, "It hasn't been my birthday for two weeks."
In that context, "in" would suggest you are somehow surprised or disappointed that your birthday has not spontaneously reoccurred in that time -- a usage that might be deployed humorously to take the sting out of the remark.