@@ -3,21 +3,30 @@ module Main where
3import Control.Monad.Eff
3import Control.Monad.Eff
4import Debug.Trace
4import Debug.Trace
6−foreign import data Error :: !
6+foreign import eqeqeq
10− function error() {
8+ function eqeqeq(x) {
10+ if (x == y) return x;
11− throw new Error("Object update failed");
11+ throw new Error("Unexpected result: " + x + " /== " + y);
13− """ :: forall e. Eff (error :: Error | e) Unit
14+ """ :: forall a. a -> a -> a
15getValue :: forall e. Eff (| e) Boolean
19getValue :: forall e. Eff (| e) Boolean
16getValue = return true
20getValue = return true
19 let record = { value: false }
23 let record = { value: false }
20− record2 <- record { value = _ } <$> getValue
24+ record' <- record { value = _ } <$> getValue
21− if record2.value
25+ print $ record'.value === true
23− else error
27+ let point = { x: 1, y: 1 }
29+ point' = (point { x = _, y = x }) 100
31+ print $ point'.x === 100
32+ print $ point'.y === 10