Skip to content

Instantly share code, notes, and snippets.

@danidiaz
Last active August 29, 2015 14:01
Show Gist options
  • Select an option

  • Save danidiaz/8d4fe599430198e5b06e to your computer and use it in GitHub Desktop.

Select an option

Save danidiaz/8d4fe599430198e5b06e to your computer and use it in GitHub Desktop.
λ (undefined >>= undefined :: Maybe ()) `seq` ()
*** Exception: Prelude.undefined
λ (undefined >>= undefined :: IO ()) `seq` ()
()
λ import Control.Monad.State.Strict
λ (undefined >>= undefined :: State () ()) `seq` ()
()
m >>= k = StateT $ \ s -> do
(a, s') <- runStateT m s
runStateT (k a) s'
λ import Control.Monad.State.Strict
λ runStateT (undefined >> return () :: State () ()) () `seq` ()
*** Exception: Prelude.undefined
λ import Control.Monad.State.Lazy
λ runStateT (undefined >> return () :: State () ()) () `seq` ()
()
λ import Control.Monad.State.Strict
λ import Debug.Trace
λ runStateT ((trace "Hi" $ return ()) >> return undefined :: State () ()) () `seq` ()
Hi
()
λ import Control.Concurrent
λ forkIO $ return undefined
ThreadId 534
λ forkIO $ return $! undefined
<interactive>: Prelude.undefined
ThreadId 580
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment