Skip to content

Commit 784dc38

Browse files
jrp2014Adam Wespiser
authored andcommitted
Make unqualified imports explicit
1 parent cff154d commit 784dc38

File tree

9 files changed

+94
-29
lines changed

9 files changed

+94
-29
lines changed

Build.hs

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,15 @@ module Main where
33

44
import Prelude
55
import Development.Shake
6-
import Development.Shake.FilePath
6+
( cmd,
7+
shakeArgs,
8+
shakeOptions,
9+
getDirectoryFiles,
10+
(%>),
11+
need,
12+
phony,
13+
want )
14+
import Development.Shake.FilePath ( (-<.>), (</>), dropDirectory1 )
715

816
main :: IO ()
917
main = shakeArgs shakeOptions $ do

src/Cli.hs

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,25 @@ module Cli (
22
cliIface
33
) where
44

5-
import Eval -- evalFile :: T.Text -> IO ()
6-
import Repl -- Repl.mainLoop :: IO ()
7-
import System.Directory
8-
import Data.Text.IO as TIO
5+
import Eval ( evalFile ) -- evalFile :: T.Text -> IO ()
6+
import Repl ( mainLoop ) -- Repl.mainLoop :: IO ()
7+
import System.Directory ( doesFileExist )
8+
import Data.Text.IO as TIO ( readFile, putStrLn )
99
import Options.Applicative
10+
( helper,
11+
execParser,
12+
strOption,
13+
short,
14+
progDesc,
15+
metavar,
16+
long,
17+
info,
18+
help,
19+
header,
20+
fullDesc,
21+
flag',
22+
Alternative((<|>)),
23+
Parser )
1024

1125
-- SOURCES
1226
--http://book.realworldhaskell.org/read/io.html

src/Eval.hs

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,19 +15,29 @@ module Eval (
1515
getFileContents
1616
) where
1717

18-
import Prim
19-
import Parser
18+
import Prim ( primEnv, unop )
19+
import Parser ( readExpr, readExprFile )
2020
import LispVal
21+
( LispException(Default, PError, UnboundVar, TypeMismatch,
22+
BadSpecialForm, NotFunction),
23+
IFunc(IFunc),
24+
LispVal(..),
25+
Eval(unEval),
26+
EnvCtx(..),
27+
showVal )
2128

2229
import Data.Map as Map
30+
( empty, fromList, insert, lookup, partition, toList, union, Map )
2331
import qualified Data.Text as T
2432
import qualified Data.Text.IO as TIO
25-
import System.Directory
33+
import System.Directory ( doesFileExist )
2634

27-
import Text.Parsec
35+
import Text.Parsec ( ParseError )
2836

2937
import Control.Monad.Reader
38+
( MonadIO(liftIO), MonadReader(local, ask), ReaderT(runReaderT) )
3039
import Control.Exception
40+
( try, throw, Exception(fromException), SomeException )
3141

3242
funcEnv :: Map.Map T.Text LispVal
3343
funcEnv = Map.fromList $ primEnv

src/LispVal.hs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,9 @@ import Data.Typeable (Typeable)
1414
import qualified Data.Text as T
1515
import qualified Data.Map as Map
1616

17-
import Control.Exception
17+
import Control.Exception ( Exception )
1818
import Control.Monad.Reader
19+
( MonadIO, MonadReader, ReaderT(ReaderT) )
1920

2021
type ValCtx = Map.Map T.Text LispVal
2122
type FnCtx = Map.Map T.Text LispVal

src/Parser.hs

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,26 @@ module Parser (
55
readExprFile
66
) where
77

8-
import LispVal
8+
import LispVal ( LispVal(List, Bool, Nil, Number, String, Atom) )
99

1010
import Text.Parsec
11-
import Text.Parsec.Text
11+
( char,
12+
digit,
13+
hexDigit,
14+
letter,
15+
octDigit,
16+
oneOf,
17+
string,
18+
eof,
19+
many1,
20+
sepBy,
21+
(<?>),
22+
(<|>),
23+
parse,
24+
try,
25+
ParseError,
26+
SourceName )
27+
import Text.Parsec.Text ( Parser )
1228
import qualified Text.Parsec.Token as Tok
1329
import qualified Text.Parsec.Language as Lang
1430

src/Prim.hs

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,20 @@
33
module Prim where
44

55
import LispVal
6-
7-
import Data.Text as T
8-
import Data.Text.IO as TIO
9-
import System.Directory
6+
( LispException(NumArgs, IOError, TypeMismatch, ExpectedList),
7+
IFunc(IFunc),
8+
LispVal(Atom, Fun, Number, String, Bool, Nil, List),
9+
Eval )
10+
11+
import Data.Text as T ( Text, concat, pack, unpack )
12+
import Data.Text.IO as TIO ( hGetContents, hPutStr )
13+
import System.Directory ( doesFileExist )
1014
import System.IO
11-
import Network.HTTP
15+
( Handle, hIsWritable, withFile, IOMode(WriteMode, ReadMode) )
16+
import Network.HTTP ( getRequest, getResponseBody, simpleHTTP )
1217

13-
import Control.Monad.Except
14-
import Control.Exception hiding (handle)
18+
import Control.Monad.Except ( foldM, MonadIO(liftIO) )
19+
import Control.Exception ( throw )
1520

1621
type Prim = [(T.Text, LispVal)]
1722
type Unary = LispVal -> Eval LispVal

src/Repl.hs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,12 @@ module Repl (
44
mainLoop,
55
) where
66

7-
import Eval
8-
import Data.Text as T
7+
import Eval ( safeExec, runParseTest, evalText )
8+
import Data.Text as T ( pack )
99

10-
import Control.Monad.Trans
10+
import Control.Monad.Trans ( MonadIO(liftIO) )
1111
import System.Console.Haskeline
12+
( defaultSettings, getInputLine, outputStrLn, runInputT, InputT )
1213

1314
type Repl a = InputT IO a
1415

test-hs/Golden/Main.hs

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,18 @@
11
{-# LANGUAGE OverloadedStrings #-}
22
module Main (main) where
33

4-
import LispVal
4+
import LispVal ( LispVal )
55
import Eval
6+
( basicEnv,
7+
getFileContents,
8+
runASTinEnv,
9+
safeExec,
10+
textToEvalForm )
611

712
import qualified Data.Text as T
813

9-
import Test.Tasty
10-
import Test.Tasty.Golden
14+
import Test.Tasty ( defaultMain, testGroup, TestName, TestTree )
15+
import Test.Tasty.Golden ( goldenVsString )
1116
import qualified Data.ByteString.Lazy.Char8 as C
1217
import Data.Functor ((<&>))
1318

test-hs/Spec/Main.hs

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,19 @@
11
{-# LANGUAGE OverloadedStrings #-}
22
module Main (main) where
33

4-
import LispVal
5-
import Parser
4+
import LispVal ( LispVal(String, Nil, Atom, List, Bool, Number) )
5+
import Parser ( readExpr )
66
import Eval
7+
( basicEnv,
8+
fileToEvalForm,
9+
getFileContents,
10+
runASTinEnv,
11+
textToEvalForm )
712

813
import qualified Data.Text as T
914

10-
import Test.Hspec
11-
import System.IO.Unsafe
15+
import Test.Hspec ( hspec, describe, it, shouldBe, SpecWith )
16+
import System.IO.Unsafe ( unsafePerformIO )
1217

1318

1419
main :: IO ()

0 commit comments

Comments
 (0)