replThread :: IO ()
replThread = repl [] $ do
  replCommand ":main"
  line <- replGetLine
  when (line /= "hello world") $ error "Main module didn't load correctly."
  liftIO $ threadDelay 1000000 -- wait for an edit of the internal library
  reloadAndTest "testInt" "42" "Internal library didn't reload."
  liftIO $ threadDelay 1000000 -- wait for an edit of the internal library
  reloadAndTest "testStr" "\"OK\"" "Main library didn't reload."
replThread :: IO ()
replThread = repl [] $ do
  replCommand ":main"
  line <- replGetLine
  when (line /= "hello world") $ error "Main module didn't load correctly."
  liftIO $ threadDelay 1000000 -- wait for an edit of the internal library
  reloadAndTest "testInt" "42" "Internal library didn't reload."
  liftIO $ threadDelay 1000000 -- wait for an edit of the internal library
  reloadAndTest "testStr" "\"OK\"" "Main library didn't reload."
replThread = repl [] $ do
  replCommand ":main"
  line <- replGetLine
  when (line /= "hello world") $ error "Main module didn't load correctly."
  liftIO $ threadDelay 1000000 -- wait for an edit of the internal library
  reloadAndTest "testInt" "42" "Internal library didn't reload."
  liftIO $ threadDelay 1000000 -- wait for an edit of the internal library
  reloadAndTest "testStr" "\"OK\"" "Main library didn't reload."