import Typecheck
import Interpret
import Control.Monad.State hiding (State)
+import Control.Concurrent.MVar
import Data.Map as Map hiding (showTree)
import ErrM
runStateT (do mapM Typecheck.addFunction fun; mapM typeCheckFunction fun; mapM typeCheckStm st) Typecheck.emptyState
print "The program is type-correct!!"
print "Running program:"
- runStateT (do mapM Interpret.addFunction fun; mapM execute st) Interpret.emptyState
+ mv <- newEmptyMVar
+ runStateT (do mapM Interpret.addFunction fun; mapM execute st) Interpret.emptyState{ret=mv}
print "Done running program!"
return ()