Например, один плохой способ - это разложить строку:
toReadableNum :: (Num a, Num b, Read b) => a -> b toReadableNum = read . show
Если нет хороших способов, есть ли другие плохие способы? Конкретная реализация? Требуется расширение языка?