name: acme-realworld version: 0.1.1 synopsis: Primitives for manipulating the state of the universe description: GHC represents an IO action internally as a function from one state of the world to the next: . >State# RealWorld -> (# State# RealWorld, a #) . This module provides a very useful capability stemming directly from this representation: the ability to save the current state of the universe and restore it later. This provides a way to \"undo\" certain types of side effects in the IO monad: . >import Acme.Missiles >import Acme.RealWorld > >main :: IO () >main = do > -- Save the current state of the universe > world_as_we_know_it <- getWorld > > -- Cause serious international side effects > launchMissiles > > -- After realizing that was a terrible, terrible mistake, restore the > -- pre-war state of the universe. > putWorld world_as_we_know_it license: BSD3 license-file: LICENSE author: Joey Adams maintainer: joeyadams3.14159@gmail.com copyright: Copyright (c) Joseph Adams 2011 category: Acme build-type: Simple cabal-version: >=1.8 library exposed-modules: Acme.RealWorld build-depends: base == 4.*