I think it's a bit naïve, because transcendental number have no exact finite representation in any integral base.
Having arbitrary precision helps only in some cases.
This is, IMO, clearly the best approach for a general purpose language, and far superior to the large number of languages which lack even a convenient syntax for exact decimal literals.
Fortunately Haskell does this too with Data.Ratio!