A late result is an incorrect result in real-time systems. And if time isn't an issue, what's the Haskell code that stops me overclocking the CPU enough to make it unreliable?
All software is leaky abstraction because it doesn't run on abstract mathematics, it runs on hardware. I can literally smash it with a hammer and then all the "guarantees" are worthless.
> All software is leaky abstraction because it doesn't run on abstract mathematics, it runs on hardware. I can literally smash it with a hammer and then all the "guarantees" are worthless.
Man, if that were the only thing that could make software go wrong, we would live in a much better world.
If the CPU violates its spec then the code will violate its spec, sure. That's not an abstraction leak though - if the CPU violates its spec then hand-crafted assembly would also go wrong.
All software is leaky abstraction because it doesn't run on abstract mathematics, it runs on hardware. I can literally smash it with a hammer and then all the "guarantees" are worthless.