on master help sign in
Get rid of dead dependencies and add -Wall for some files
commit6a8db4c230d4db0f950a82dc20570264129317d4 authorEvan Czaplicki <info@elm-lang.org> dateFri 3 Jan 2014, 12:33 (13 years ago) parentade0339
9 files changed+22−38
compiler/Parse/Binop.hs−1 compiler/Parse/Declaration.hs+5−9 compiler/Parse/Expression.hs+1−2 compiler/Parse/Literal.hs+3−4 compiler/Parse/Module.hs+1−2 compiler/Parse/Type.hs+3−4 compiler/Type/Constrain/Declaration.hs+8−13 compiler/Type/Constrain/Expression.hs+1−1 compiler/Type/Constrain/Pattern.hs−2
compiler/Parse/Binop.hs−1
@@ -1,7 +1,6 @@
11module Parse.Binop (binops, OpTable) where
22
33import Control.Applicative ((<$>))
4−import Control.Monad.Error
54import Data.List (intercalate)
65import qualified Data.Map as Map
76
compiler/Parse/Declaration.hs+5−9
@@ -1,15 +1,11 @@
1−
1+{-# OPTIONS_GHC -Wall -fno-warn-unused-do-bind #-}
22module Parse.Declaration where
33
4−import Control.Applicative ((<$>), (<*>))
5−import qualified Data.List as List
6−import qualified Data.Set as Set
4+import Control.Applicative ((<$>))
75import Text.Parsec hiding (newline,spaces)
8−import Text.Parsec.Indent
96
107import Parse.Helpers
118import qualified Parse.Expression as Expr
12−import qualified SourceSyntax.Type as T
139import qualified Parse.Type as Type
1410import qualified SourceSyntax.Declaration as D
1511
@@ -24,15 +20,15 @@ alias :: IParser D.ParseDeclaration
2420alias = do
2521 reserved "type" <?> "type alias (type Point = {x:Int, y:Int})"
2622 forcedWS
27− alias <- capVar
28− args <- spacePrefix lowVar
23+ name <- capVar
24+ args <- spacePrefix lowVar
2925 padded equals
3026 tipe <- Type.expr
3127 json <- option [] $ do
3228 try $ padded (reserved "deriving")
3329 string "Json"
3430 return [D.Json]
35− return (D.TypeAlias alias args tipe json)
31+ return (D.TypeAlias name args tipe json)
3632
3733datatype :: IParser D.ParseDeclaration
3834datatype = do
compiler/Parse/Expression.hs+1−2
@@ -1,6 +1,5 @@
11module Parse.Expression (def,term,typeAnnotation,expr) where
22
3−import Control.Arrow ((***))
43import Control.Applicative ((<$>), (<*>))
54import Data.List (foldl')
65import Text.Parsec hiding (newline,spaces)
@@ -206,7 +205,7 @@ defStart =
206205 where
207206 func pattern =
208207 case pattern of
209− PVar v -> (pattern:) <$> spacePrefix Pattern.term
208+ PVar _ -> (pattern:) <$> spacePrefix Pattern.term
210209 _ -> do try (lookAhead (whitespace >> string "="))
211210 return [pattern]
212211
compiler/Parse/Literal.hs+3−4
@@ -1,13 +1,12 @@
1+{-# OPTIONS_GHC -Wall -fno-warn-unused-do-bind #-}
12module Parse.Literal (literal) where
23
3−import Control.Applicative ((<$>), (<*>))
4−import Control.Monad
4+import Control.Applicative ((<$>))
55import Text.Parsec hiding (newline,spaces)
6−import Text.Parsec.Indent
7−
86import Parse.Helpers
97import SourceSyntax.Literal
108
9+literal :: IParser Literal
1110literal = num <|> (Str <$> str) <|> (Chr <$> chr)
1211
1312num :: IParser Literal
compiler/Parse/Module.hs+1−2
@@ -1,4 +1,3 @@
1−
21module Parse.Module (moduleDef, getModuleName, imports) where
32
43import Control.Applicative ((<$>), (<*>))
@@ -6,7 +5,7 @@ import Data.List (intercalate)
65import Text.Parsec hiding (newline,spaces)
76
87import Parse.Helpers
9−import SourceSyntax.Module (Module(..), ImportMethod(..), Imports)
8+import SourceSyntax.Module (ImportMethod(..), Imports)
109
1110varList :: IParser [String]
1211varList = parens $ commaSep1 (var <|> parens symOp)
compiler/Parse/Type.hs+3−4
@@ -1,11 +1,9 @@
1+{-# OPTIONS_GHC -Wall -fno-warn-unused-do-bind #-}
12module Parse.Type where
23
34import Control.Applicative ((<$>),(<*>))
4−import Control.Monad (liftM,mapM)
5−import Data.Char (isLower)
6−import Data.List (lookup,intercalate)
5+import Data.List (intercalate)
76import Text.Parsec
8−import Text.Parsec.Indent
97
108import SourceSyntax.Type as T
119import Parse.Helpers
@@ -42,6 +40,7 @@ record =
4240 whitespace >> hasType >> whitespace
4341 (,) lbl <$> expr
4442
43+capTypeVar :: IParser String
4544capTypeVar = intercalate "." <$> dotSep1 capVar
4645
4746constructor0 :: IParser T.Type
compiler/Type/Constrain/Declaration.hs+8−13
@@ -1,13 +1,6 @@
1+{-# OPTIONS_GHC -Wall #-}
12module Type.Constrain.Declaration where
23
3−import Control.Monad
4−import Control.Applicative ((<$>))
5−
6−import qualified Data.Map as Map
7−
8−import qualified Type.Constrain.Expression as TcExpr
9−import qualified Type.Environment as Env
10−
114import SourceSyntax.Declaration
125import qualified SourceSyntax.Expression as Src
136import qualified SourceSyntax.Location as L
@@ -22,15 +15,15 @@ toDefs decl =
2215 case decl of
2316 Definition def -> [def]
2417
25− Datatype name tvars constructors _ -> concatMap toDefs constructors
18+ Datatype name tvars constructors _ -> concatMap toDefs' constructors
2619 where
27− toDefs (ctor, tipes) =
20+ toDefs' (ctor, tipes) =
2821 let vars = take (length tipes) arguments
2922 tbody = Type.Data name $ map Type.Var tvars
3023 body = L.none . Src.Data ctor $ map (L.none . Src.Var) vars
3124 in [ definition ctor (buildFunction body vars) (foldr Type.Lambda tbody tipes) ]
3225
33− TypeAlias name tvars tipe@(Type.Record fields ext) _ ->
26+ TypeAlias name _ tipe@(Type.Record fields ext) _ ->
3427 [ definition name (buildFunction record vars) (foldr Type.Lambda tipe args) ]
3528 where
3629 args = case ext of
@@ -53,7 +46,7 @@ toDefs decl =
5346 Port port ->
5447 case port of
5548 Send name expr tipe -> [ definition name expr tipe ]
56− Recv name expr tipe -> -- [ definition name ]
49+ Recv _ _ _ -> -- [ definition name ]
5750 error "not sure how to generate constraints for recv yet"
5851
5952 -- no constraints are needed for fixity declarations
@@ -61,9 +54,11 @@ toDefs decl =
6154
6255
6356arguments :: [String]
64−arguments = map (:[]) ['a'..'z'] ++ map (\n -> "_" ++ show n) [1..]
57+arguments = map (:[]) ['a'..'z'] ++ map (\n -> "_" ++ show (n :: Int)) [1..]
6558
59+buildFunction :: Src.LExpr -> [String] -> Src.LExpr
6660buildFunction body@(L.L s _) vars =
6761 foldr (\p e -> L.L s (Src.Lambda p e)) body (map P.PVar vars)
6862
63+definition :: String -> Src.LExpr -> Type.Type -> Src.Def
6964definition name expr tipe = Src.Definition (P.PVar name) expr (Just tipe)
compiler/Type/Constrain/Expression.hs+1−1
@@ -3,7 +3,7 @@ module Type.Constrain.Expression where
33import qualified Data.List as List
44import qualified Data.Map as Map
55import qualified Data.Set as Set
6−import Control.Applicative ((<$>),(<*>))
6+import Control.Applicative ((<$>))
77import qualified Control.Monad as Monad
88import Control.Monad.Error
99import qualified Text.PrettyPrint as PP
compiler/Type/Constrain/Pattern.hs−2
@@ -5,8 +5,6 @@ import Control.Arrow (second)
55import Control.Applicative ((<$>))
66import qualified Control.Monad as Monad
77import Control.Monad.Error
8−import qualified Data.List as List
9−import qualified Data.Maybe as Maybe
108import qualified Data.Map as Map
119import qualified Text.PrettyPrint as PP
1210