As I know 'for' shows incompleteness even with Present Perfect. And there's much difference between "I read that book in two days" which means "It took me two days to complete the book", and I read that book for two days" which doesn't necessarily mean completion. But, I don't quite get how to use Present/Past Perfect (Simple) with 'in' in positive sentences (as I know in negative sentences there's no difference).
I haven't had a vacation for ten years. (no difference)
I haven't had a vacation in ten years. (no difference)
Is this a correct sentences "Mary has written a composition in an hour" with the meaning that she started an hour ago, and has just finished a composition? If not, do we even use "in" with "PPS" in poisive sentences?