0

I'm practicing active to passive voice transformation and trying to determine the best way to transform the following sentence - "Who has written Hamlet?"

My answer is: By whom has Hamlet been written?

I got a suggestion that "Who has Hamlet been written by?" may also be a correct passive form. But it doesn't sound grammatically correct to me.

  • 1
    It's syntactically "valid", ignoring the trivial issue of whether anyone would bother to use the (strictly speaking, "correct") whom rather who today. But idiomatically I think we'd only use that construction if there were potentially multiple authors of Hamlet. As for example, Who has sung Nessun Dorma at Last Night at the Proms? (implies speaker knows/suspects several people have done this; if he knew only one person ever did, he'd ask Who sang...). – FumbleFingers Reinstate Monica Jul 6 at 14:08
5

Who has 'Hamlet' been written by? is grammatically correct, but an unlikely thing for anyone to say.

We would use has written of a recent work by a living author. Hilary Mantel has written three novels about Thomas Cromwell.

Speaking of a long-dead writer such as Shakespeare, we would say Who wrote 'Hamlet'? or Who was 'Hamlet' written by?

| improve this answer | |
2

English has been eliminating inflections for centuries. The who/whom distinction is in the process of disappearing from U.S. English, but is still recognized by some, particularly when it is preceded by a preposition. Those who do recognize it, moreover, tend to be those most adept at writing formal English. So saying both usages are grammatical is probably the best way to describe concisely a situation that is complex and changing.

Your formation of the passive and conforming switch from "who" to "by whom" are just fine. What is not fine is your use of the present perfect. To be idiomatic, try

Who wrote Hamlet?

or

Hamlet was written by whom?

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.