type-level-numbers-0.1.1.1: test/nat.hs
{-# LANGUAGE TemplateHaskell #-}
import Control.Applicative
import Language.Haskell.TH
import System.Exit
import TestNat
main :: IO ()
main = do
plus <- sequence $(listE (testAdd <$> [0..8] <*> [0..8]))
minus <- sequence $(listE [testSub n m | m <- [0..8], n <- [m..8]])
mult <- sequence $(listE (testMul <$> [0..8] <*> [0..8]))
case and $ plus ++ minus ++ mult of
True -> exitSuccess
False -> exitFailure