-- |
-- Module: Acme.Missiles
-- License: Public domain
-- Portability: non-portable
--
-- The 'launchMissiles' action, as mentioned in:
--
-- * /Beautiful concurrency/, by Simon Peyton Jones, to appear in
-- \"Beautiful code\", ed Greg Wilson, O'Reilly 2007.
-- <http://research.microsoft.com/en-us/um/people/simonpj/papers/stm/index.htm#beautiful>
module Acme.Missiles (
launchMissiles
) where
import Control.Concurrent (forkIO, threadDelay)
import Foreign.Marshal.Error (void)
-- | Cause serious international side effects.
launchMissiles :: IO ()
launchMissiles =
void $ forkIO $ do
threadDelay 1000000
putStrLn "Nuclear launch detected."