On 8/7/2013 11:00 AM, David Thomas wrote:
twice :: IO () -> IO () twice x = x >> x I would call that evaluating x twice (incidentally creating two separate evaluations of one pure action description), but I'd like to better see your perspective here./executed/ twice. For IO, that means magic. For other types, it means different things. For Identity, twice = id!x is only evaluated once, butYour point being? x is the same thing regardless of how many times you run it.