]> Git — Sourcephile - haskell/symantic.git/blob - TFHOE/Expr/Fun/Test.hs
init
[haskell/symantic.git] / TFHOE / Expr / Fun / Test.hs
1 {-# LANGUAGE NoMonomorphismRestriction #-}
2 {-# LANGUAGE FlexibleContexts #-}
3 {-# LANGUAGE AllowAmbiguousTypes #-}
4 {-# OPTIONS_GHC -fno-warn-missing-signatures #-}
5
6 module Expr.Fun.Test where
7
8 import Test.Tasty
9
10 import Prelude hiding (or, and)
11
12 import TFHOE.Expr.Fun
13 import TFHOE.Expr.Bool
14
15 e1 = val $ \x -> val $ \y -> (x `or` y) `and` neg (x `and` y)
16 e2 = val $ \x -> val $ \y -> (x `and` neg y) `or` (neg x `and` y)
17 e3 = let_val (bool True) $ \x -> x `and` x
18 e4 = let_val (val $ \x -> x `and` x) $ \f -> f `app` bool True
19 e5 = val $ \x0 -> val $ \x1 -> x0 `and` x1
20 e6 = let_val (bool True) id `and` bool False
21 e7 = val $ \f -> (f `app` bool True) `and` bool True
22 e8 = val $ \f -> f `app` (bool True `and` bool True)
23
24 tests :: TestTree
25 tests =
26 testGroup "Fun"
27 [
28 ]