I recently got a message that says

Haven't heard anything from you in a while.

I always thought that the right way to say this would be to use for insdead of in. Are both versions correct? Would there be a difference in meaning?


I'm trying to capture a vague idea floating in my head. Not sure I can explain adequately.

First off, both "in a while" and "for a while" are grammatical and idiomatic per se. However, to me, "for a while" would mean that their hearing from you is an ongoing process, which you interrupted for some time — or well, for a while —, but then resumed. Which is not what the sentence is supposed to express.

What you want instead is "in a while", which also means "for some period of time" but without implying that the contact has been re-established already, or indeed ever will be. Which is the whole point of that sentence, after all. It's just a reminder that it should be.

So I would most definitely say, "Haven't heard anything from you in a while".

This might be just my dialect/idiolect, though. I haven't checked any corpora.


The sentence you give should be:

"Haven't heard anything from you in a while."
or
"Haven't heard anything from you for a while."

No difference in meaning in this case, at least, not to my knowledge in American English, and not in my idiolect. But there would in these cases:

I'll give this to you in a while. [Not now, but maybe tonight or next week.]
I'll give this to you for a while. [You can have it for a week or maybe a month, but then I want it back.]