What are the differences between:
- All-day lunch
- All day lunch
all-day lunch from 12.00-18.00
The dictionary say all-day means available throughout the day, but is the hyphen necessary?
When an adjective is used to modify another adjective rather than directly modify the noun, we hyphenate the two words. If two adjectives both modify the same noun, we normally separate them with a comma.
For example, "a hot, dry day" is a day that is both hot and dry.
A "hot-water container" is a container for hot water. It is not the container that is hot, but the water.
A "hot water container" would literally mean a "water container" that is hot, i.e. the container is hot, not necessarily the water. Sometimes to avoid confusion in such cases we hyphenate "water-container", but that's not required.
Of course if you wrote "a hot dry day", people would know what you meant even if it's technically incorrect. I know I've heard examples where it is really ambiguous and confusing without either a hyphen or comma, but I can't think of one at the moment. :-(
In your example, the lunch lasts all day, so you should write "an all-day lunch". If you had something called a "day lunch", it might make sense to talk about an "all day lunch" as "a day lunch for all". As opposed to a "night lunch" to which only some people were invited, I suppose. As this makes little sense, you get away with leaving out the hyphen, because people know what you meant. It's still technically wrong though. Just like if you say "I gived it to Bob", we know what you meant even though there is no such word as "gived".
You can connect words in a phrase freely to preserve meaning and facilitate the reader.
For example: "a go-out-and-get-doing approach needed" - here the whole phrase "go out and get doing" acts as an adjective to the noun approach; if you leave out the hyphens a reader would have to maybe read it twice to three times to get what you exactly meant.
I think you can use both "all-day" and "all day", but as in the case with "go out and get doing" "all day" in your case acts as an adjective and since in the dictionary there's "all-day" adjective listed - I'd say is better to use that one.