diff options
-rw-r--r-- | Makefile | 2 | ||||
-rw-r--r-- | src/LambdaCube/Compiler/CoreToIR.hs | 13 | ||||
-rw-r--r-- | src/LambdaCube/Compiler/Driver.hs | 5 | ||||
-rw-r--r-- | src/LambdaCube/Compiler/Infer.hs | 3 | ||||
-rw-r--r-- | test/runTests.hs | 20 |
5 files changed, 20 insertions, 23 deletions
@@ -3,7 +3,7 @@ all: | |||
3 | cabal install --constraint="indentation -trifecta" | 3 | cabal install --constraint="indentation -trifecta" |
4 | 4 | ||
5 | repl: | 5 | repl: |
6 | cd test && ghci -i../src runTests.hs | 6 | cd test && ghci -Wall -fno-warn-name-shadowing -fno-warn-unused-matches -fno-warn-missing-signatures -fno-warn-incomplete-patterns -fno-warn-overlapping-patterns -fno-warn-type-defaults -i../src runTests.hs |
7 | 7 | ||
8 | coverage: | 8 | coverage: |
9 | ./run-test-suite.sh --coverage | 9 | ./run-test-suite.sh --coverage |
diff --git a/src/LambdaCube/Compiler/CoreToIR.hs b/src/LambdaCube/Compiler/CoreToIR.hs index c13c63c3..6db2d3a2 100644 --- a/src/LambdaCube/Compiler/CoreToIR.hs +++ b/src/LambdaCube/Compiler/CoreToIR.hs | |||
@@ -7,6 +7,7 @@ | |||
7 | {-# LANGUAGE DeriveFunctor #-} | 7 | {-# LANGUAGE DeriveFunctor #-} |
8 | {-# LANGUAGE DeriveFoldable #-} | 8 | {-# LANGUAGE DeriveFoldable #-} |
9 | {-# LANGUAGE DeriveTraversable #-} | 9 | {-# LANGUAGE DeriveTraversable #-} |
10 | {-# OPTIONS_GHC -fno-warn-unused-binds #-} -- TODO: remove | ||
10 | module LambdaCube.Compiler.CoreToIR | 11 | module LambdaCube.Compiler.CoreToIR |
11 | ( compilePipeline | 12 | ( compilePipeline |
12 | , Exp, toExp, tyOf, outputType, boolType, trueExp | 13 | , Exp, toExp, tyOf, outputType, boolType, trueExp |
@@ -20,17 +21,17 @@ import Data.Set (Set) | |||
20 | import qualified Data.Set as Set | 21 | import qualified Data.Set as Set |
21 | import Data.Map (Map) | 22 | import Data.Map (Map) |
22 | import qualified Data.Map as Map | 23 | import qualified Data.Map as Map |
23 | import Data.Vector (Vector,(!)) | 24 | import Data.Vector ((!)) |
24 | import qualified Data.Vector as Vector | 25 | import qualified Data.Vector as Vector |
25 | import Control.Applicative | 26 | --import Control.Applicative |
26 | import Control.Arrow hiding ((<+>)) | 27 | import Control.Arrow hiding ((<+>)) |
27 | import Control.Monad.Writer | 28 | import Control.Monad.Writer |
28 | import Control.Monad.State | 29 | import Control.Monad.State |
29 | import Control.Monad.Reader | 30 | import Control.Monad.Reader |
30 | import Control.Monad.Except | 31 | --import Control.Monad.Except |
31 | import Control.Monad.Identity | 32 | --import Control.Monad.Identity |
32 | import Text.Parsec.Pos | 33 | --import Text.Parsec.Pos |
33 | import Debug.Trace | 34 | --import Debug.Trace |
34 | 35 | ||
35 | import IR(Backend(..)) | 36 | import IR(Backend(..)) |
36 | import qualified IR as IR | 37 | import qualified IR as IR |
diff --git a/src/LambdaCube/Compiler/Driver.hs b/src/LambdaCube/Compiler/Driver.hs index db19c0ef..6d54393c 100644 --- a/src/LambdaCube/Compiler/Driver.hs +++ b/src/LambdaCube/Compiler/Driver.hs | |||
@@ -4,6 +4,7 @@ | |||
4 | {-# LANGUAGE GeneralizedNewtypeDeriving #-} | 4 | {-# LANGUAGE GeneralizedNewtypeDeriving #-} |
5 | {-# LANGUAGE FlexibleContexts #-} | 5 | {-# LANGUAGE FlexibleContexts #-} |
6 | {-# LANGUAGE ScopedTypeVariables #-} | 6 | {-# LANGUAGE ScopedTypeVariables #-} |
7 | {-# OPTIONS_GHC -fno-warn-orphans #-} -- instance MonadMask m => MonadMask (ExceptT e m) | ||
7 | module LambdaCube.Compiler.Driver | 8 | module LambdaCube.Compiler.Driver |
8 | ( Backend(..) | 9 | ( Backend(..) |
9 | , Pipeline | 10 | , Pipeline |
@@ -18,10 +19,10 @@ module LambdaCube.Compiler.Driver | |||
18 | , catchMM, catchErr | 19 | , catchMM, catchErr |
19 | , ioFetch | 20 | , ioFetch |
20 | , getDef, compileMain, preCompile | 21 | , getDef, compileMain, preCompile |
22 | , removeFromCache | ||
21 | ) where | 23 | ) where |
22 | 24 | ||
23 | import Data.List | 25 | import Data.List |
24 | import Data.Maybe | ||
25 | import Data.Map (Map) | 26 | import Data.Map (Map) |
26 | import qualified Data.Map as Map | 27 | import qualified Data.Map as Map |
27 | import Control.Monad.State | 28 | import Control.Monad.State |
@@ -35,7 +36,7 @@ import Control.Exception hiding (catch, bracket, finally, mask) | |||
35 | import Control.Arrow hiding ((<+>)) | 36 | import Control.Arrow hiding ((<+>)) |
36 | import System.Directory | 37 | import System.Directory |
37 | import System.FilePath | 38 | import System.FilePath |
38 | import Debug.Trace | 39 | --import Debug.Trace |
39 | import qualified Data.Text as T | 40 | import qualified Data.Text as T |
40 | import qualified Data.Text.IO as TIO | 41 | import qualified Data.Text.IO as TIO |
41 | 42 | ||
diff --git a/src/LambdaCube/Compiler/Infer.hs b/src/LambdaCube/Compiler/Infer.hs index ebc27035..b3c0fbf6 100644 --- a/src/LambdaCube/Compiler/Infer.hs +++ b/src/LambdaCube/Compiler/Infer.hs | |||
@@ -10,6 +10,8 @@ | |||
10 | {-# LANGUAGE RecursiveDo #-} | 10 | {-# LANGUAGE RecursiveDo #-} |
11 | {-# LANGUAGE RankNTypes #-} | 11 | {-# LANGUAGE RankNTypes #-} |
12 | {-# LANGUAGE GeneralizedNewtypeDeriving #-} | 12 | {-# LANGUAGE GeneralizedNewtypeDeriving #-} |
13 | {-# OPTIONS_GHC -fno-warn-unused-binds #-} -- TODO: remove | ||
14 | {-# OPTIONS_GHC -fno-warn-orphans #-} -- instance NFData SourcePos | ||
13 | module LambdaCube.Compiler.Infer | 15 | module LambdaCube.Compiler.Infer |
14 | ( Binder (..), SName, Lit(..), Visibility(..), FunName(..), CaseFunName(..), ConName(..), TyConName(..), Export(..), ModuleR(..) | 16 | ( Binder (..), SName, Lit(..), Visibility(..), FunName(..), CaseFunName(..), ConName(..), TyConName(..), Export(..), ModuleR(..) |
15 | , Exp (..), GlobalEnv | 17 | , Exp (..), GlobalEnv |
@@ -40,7 +42,6 @@ import Control.Monad.State | |||
40 | import Control.Monad.Identity | 42 | import Control.Monad.Identity |
41 | import Control.Arrow hiding ((<+>)) | 43 | import Control.Arrow hiding ((<+>)) |
42 | import Control.Applicative | 44 | import Control.Applicative |
43 | import Control.Exception hiding (try) | ||
44 | import Control.DeepSeq | 45 | import Control.DeepSeq |
45 | 46 | ||
46 | import Text.Parsec hiding (label, Empty, State, (<|>), many, try) | 47 | import Text.Parsec hiding (label, Empty, State, (<|>), many, try) |
diff --git a/test/runTests.hs b/test/runTests.hs index 5cbb01bc..9c494db4 100644 --- a/test/runTests.hs +++ b/test/runTests.hs | |||
@@ -7,33 +7,27 @@ module Main where | |||
7 | import Data.List | 7 | import Data.List |
8 | import Data.Time.Clock | 8 | import Data.Time.Clock |
9 | import Control.Applicative | 9 | import Control.Applicative |
10 | import Control.Arrow | ||
11 | import Control.Concurrent | 10 | import Control.Concurrent |
12 | import Control.Concurrent.Async | 11 | import Control.Concurrent.Async |
13 | import Control.Monad | 12 | import Control.Monad |
14 | import Control.Monad.Reader | 13 | import Control.Monad.Reader |
15 | 14 | import Control.Exception hiding (catch) | |
16 | import System.Environment | 15 | import Control.Monad.Trans.Control |
16 | import Control.DeepSeq | ||
17 | import System.Exit | 17 | import System.Exit |
18 | import System.Directory | 18 | import System.Directory |
19 | import System.FilePath | 19 | import System.FilePath |
20 | import System.IO | 20 | import System.IO |
21 | import Control.Exception hiding (catch) | ||
22 | import Control.Monad.Trans.Control | ||
23 | import Control.Monad.Catch | ||
24 | import Control.DeepSeq | ||
25 | import Options.Applicative | 21 | import Options.Applicative |
26 | import Options.Applicative.Types | ||
27 | import Text.Printf | ||
28 | 22 | ||
29 | import qualified Data.Text as T | 23 | import qualified Data.Text as T |
30 | import qualified Data.Text.IO as TIO | 24 | import qualified Data.Text.IO as TIO |
25 | import Text.Printf | ||
26 | import Text.Parsec.Pos | ||
31 | 27 | ||
32 | import LambdaCube.Compiler.Pretty hiding ((</>)) | 28 | import LambdaCube.Compiler.Pretty (ppShow) |
29 | import LambdaCube.Compiler.CoreToIR (compilePipeline) | ||
33 | import LambdaCube.Compiler.Driver | 30 | import LambdaCube.Compiler.Driver |
34 | import LambdaCube.Compiler.CoreToIR | ||
35 | import IR (Backend(..)) | ||
36 | import Text.Parsec.Pos | ||
37 | 31 | ||
38 | ------------------------------------------ utils | 32 | ------------------------------------------ utils |
39 | 33 | ||