From: Adam Prescott Date: 2012-01-27T23:02:52+09:00 Subject: Re: Microrant on Ruy's Math Skills --f46d044468e1d27f4f04b782f3e2 Content-Type: text/plain; charset=UTF-8 On Fri, Jan 27, 2012 at 03:05, Josh Cheek wrote: > They are unsuitable for more uses than they are suitable for, and they > contradict > the idea that abstractions shouldn't leak implementation. > I think I understand what you're getting at here, but it's potentially misleading. There's not an abstraction leak when you keep in mind that the framework you're in is that 1.1 is a float, and therefore has a certain representation within the machine and is subject to manipulations within some specified system. If you're viewing things as: 1.1 is a concrete realisation, within the machine, of the abstract mathematical notion of the precise rational number 11/10, then yes there is a leak across the mathematics-machine boundary, because dealing with the float 1.1 is not the same as symbolically dealing with 11/10 in standard mathematics. Treating the former as the latter will cause you problems. Much like there are instances where dealing with a Hash as an abstract *map* will cause problems when you encounter things like hash collisions. (Incidentally, that's why I think it's probably better that a Hash is a Hash and not a Map.) Apologies if this isn't too relevant to you personally, Josh, I just think this hasn't been all that clear so far. (Perhaps I'm off the mark, too!) --f46d044468e1d27f4f04b782f3e2--