purescript-0.6.4.1: examples/passing/PartialFunction.purs
module Main where
foreign import testError
"""
function testError(f) {
try {
return f();
} catch (e) {
if (e instanceof Error) return 'success';
throw new Error('Pattern match failure is not Error');
}
}
""" :: (Unit -> Number) -> String
fn :: Number -> Number
fn 0 = 0
fn 1 = 2
main = Debug.Trace.trace (show $ testError $ \_ -> fn 2)