@ Kostiantyn: Thank you again for the links to Decimal and Data.Fixed
@ Iustin: You're absolutely correct, I was abusing succ. I blame myself.
@ Rein: Thank you, I'd previously shared the goldberg paper; it's illuminating.
Fwiw, prior to adventures with succ, I'd noticed that simple operations on certain simple real numbers would give "exciting" results. (Undoubtedly, I should have just gone with that instead of posting about succ; apologies again for confusing Iustin.)
ghci> map (+ 0.01)[0.01,0.02 .. 1.00]
for example, gave me a nice list of visually stimulating values for the reasons Rein and Kostiantyn pointed out. With succ, I wondered what I would see if I did something "wrong." My assumption was that it would flail and give me an error message, something along the lines of "Fool, that is not the proper way to succ. Go play with natural numbers." That I'd get occasionally expected values with either the above or succ was.....peculiar, until reading Kostiantyn's replies and finding and reading the Goldberg paper, not to mention having a "Forth moment" and remembering scaled integer......
I (foolishly or not) made the assumption that Haskell would do something different with floats "out of the box." I do realize the same issues are inherent in other languages, but I wondered if it might be "smart," recognize I was calculating with real numbers and automagically either load what I needed or point me in that direction. That said, I really appreciate Rein's reply and recognize that picking Double for the extended default rules is "a good choice."
Anyway, after loading Data.Fixed, this produces reasonable output:
ghci> map (+ (0.01 :: Fixed E2)) [0.01,0.02 .. 1.01]
Back to reading and learning by cutting myself. Thanks again all.