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.*