purescript-0.6.5: examples/passing/ObjectWildcards.purs
module Main where
import Control.Monad.Eff
import Debug.Trace
mkRecord = { foo: _, bar: _, baz: "baz" }
getValue :: forall e. Eff (| e) Boolean
getValue = return true
foreign import eqeqeq
"""
function eqeqeq(x) {
return function (y) {
if (x == y) return x;
throw new Error("Unexpected result: " + x + " /== " + y);
};
};
""" :: forall a. a -> a -> a
(===) = eqeqeq
infixl 4 ===
main = do
obj <- { value: _ } <$> getValue
print obj.value
let x = 1
point <- { x: _, y: x } <$> return 2
print $ point.x === 2
print $ point.y === 1
trace (mkRecord 1 "Done!").bar