fay-0.6.0.0: tests/30.hs
{-# LANGUAGE NoImplicitPrelude #-}
module Test where
-- | As pattern matches
import Language.Fay.Prelude
import Language.Fay.FFI
isPositive :: Double -> Bool
isPositive x | x > 0 = True
| x <= 0 = False
threeConds x | x > 1 = 2
| x == 1 = 1
| x < 1 = 0
withOtherwise x | x > 1 = True
| otherwise = False
-- Not called, throws "non-exhaustive guard"
nonExhaustive x | x > 1 = True
print :: String -> Fay ()
print = ffi "console.log(%1)"
main :: Fay ()
main = do
print $ showList $ (isPositive 1, isPositive 0)
print $ showList $ (threeConds 3, threeConds 1, threeConds 0)
print $ showList $ (withOtherwise 2, withOtherwise 0)
showList :: Foreign a => [a] -> String
showList = ffi "JSON.stringify(%1)"