1 {-# LANGUAGE NoMonomorphismRestriction #-}
2 {-# OPTIONS_GHC -fno-warn-missing-signatures #-}
3 module Compiling.Test where
7 import Language.Symantic.Compiling
9 import qualified Compiling.Applicative.Test as Applicative
10 import qualified Compiling.Bool.Test as Bool
11 import qualified Compiling.Foldable.Test as Foldable
12 import qualified Compiling.Functor.Test as Functor
13 import qualified Compiling.Map.Test as Map
14 import qualified Compiling.MonoFunctor.Test as MonoFunctor
15 import qualified Compiling.Num.Test as Num
16 import qualified Compiling.Tuple2.Test as Tuple2
18 import Prelude hiding ((&&), not, (||), (==), id)
22 tests = testGroup "Compiling" $
34 te1 = lam $ \x -> lam $ \y -> (x || y) && not (x && y)
35 te2 = lam $ \x -> lam $ \y -> (x && not y) || (not x && y)
36 te3 = let_ (bool True) $ \x -> x && x
37 te4 = let_ (lam $ \x -> x && x) $ \f -> f .$ bool True
38 te5 = lam $ \x0 -> lam $ \x1 -> x0 && x1
39 te6 = let_ (bool True) id && bool False
40 te7 = lam $ \f -> (f .$ bool True) && bool True
41 te8 = lam $ \f -> f .$ (bool True && bool True)