@@ -123,6 +123,7 @@ import Control.Lens (IndexPreservingGetter, to)
123import Data.Text (Text)
123import Data.Text (Text)
126+-- >>> import Control.Concurrent.MVar (newEmptyMVar, takeMVar, putMVar)
126-- >>> import Language.Javascript.JSaddle.Test (testJSaddle)
127-- >>> import Language.Javascript.JSaddle.Test (testJSaddle)
127-- >>> import Language.Javascript.JSaddle.Evaluate (eval)
128-- >>> import Language.Javascript.JSaddle.Evaluate (eval)
128-- >>> import Language.Javascript.JSaddle.Value (val, valToText, JSNull(..), deRefVal)
129-- >>> import Language.Javascript.JSaddle.Value (val, valToText, JSNull(..), deRefVal)
@@ -409,9 +410,15 @@ obj = Object <$> sendLazyCommand NewEmptyObject
410-- >>> testJSaddle $ eval "(function(f) {f('Hello');})(function (a) {console.log(a)})"
411-- >>> testJSaddle $ eval "(function(f) {f('Hello');})(function (a) {console.log(a)})"
411-- undefined
412-- undefined
415+-- result <- liftIO newEmptyMVar
412−-- >>> testJSaddle . deRefVal $ call (eval "(function(f) {f('Hello');})") global [fun $ \ _ _ args -> valToText (head args) >>= (liftIO . putStrLn . T.unpack) ]
416+-- deRefVal $ call (eval "(function(f) {f('Hello');})") global [fun $ \ _ _ [arg1] -> do
417+-- valToText arg1 >>= (liftIO . putMVar result)
419+-- liftIO $ takeMVar result
415fun :: JSCallAsFunction -> JSCallAsFunction
422fun :: JSCallAsFunction -> JSCallAsFunction