pec-0.2.3: test_cases/TestFun.pec
module TestFun
imports
Prelude
where
main :: () -> I32
main () = do
putLn "testFun"
assert (oneArg 4 'c')
f = is_lower
assert (f 'c')
g = alsoOne 3
assert (g 4 'c')
h = new is_lower
assert (@h 'c')
assert (argFunPtr h)
h <- is_upper
assert (not (@h 'c'))
assert (not (argFunPtr h))
assert (argFun is_lower)
assert (not (argFun is_upper))
assert ((retFun True) 'c')
assert (not ((retFun False) 'c'))
putLn "done"
0
twoArgs :: W32 -> Char -> Bool
twoArgs a b = True
oneArg :: W32 -> (Char -> Bool)
oneArg a = is_lower
alsoOne :: I32 -> (W32 -> Char -> Bool)
alsoOne a = twoArgs
argFun :: (Char -> Bool) -> Bool
argFun f = f 'c'
argFunPtr :: Ptr (Char -> Bool) -> Bool
argFunPtr p = @p 'c'
retFun :: Bool -> (Char -> Bool)
retFun a = if a is_lower is_upper