In The Haskell 98 Report it\'s said that
A floating literal must contain digits both before and after the decimal point; this ensures that a decimal p
I don't really seem much of a problem with allowing '9.' and '.7'. I think the current design is more of a reflection of the ideas of the original designers of Haskell.