packages feed

purescript-0.6.3: examples/passing/Eff.purs

module Main where

import Prelude
import Control.Monad.Eff
import Control.Monad.ST
import Debug.Trace

test1 = do
  trace "Line 1"
  trace "Line 2"

test2 = runPure (runST (do
          ref <- newSTRef 0
          modifySTRef ref $ \n -> n + 1
          readSTRef ref))

test3 = pureST (do
          ref <- newSTRef 0
          modifySTRef ref $ \n -> n + 1
          readSTRef ref)

main = do
  test1
  Debug.Trace.print test2
  Debug.Trace.print test3