Is is actually useful somehow in a programming language?
Name:
Anonymous2009-02-04 13:56
Yes. For example, Haskell's STM monad disallows performing IO within a transaction, meaning it can be safely retried without the risk of IO being performed again. (Except, of course, for unsafePerformIO, but at least it's then obvious that it's doing naughty things.)