on master help sign in
Improve indentation in Transform.Definition
commitf5366947d61acb97595eee77c5ebb55c5f68fd90 authorEvan Czaplicki <info@elm-lang.org> dateSat 7 Mar 2015, 16:55 (12 years ago) parent55c291a
1 file changed+25−20
src/Transform/Definition.hs+25−20
src/Transform/Definition.hs+25−20
@@ -8,28 +8,33 @@ import qualified AST.Expression.Valid as Valid
88import qualified Transform.Expression as Expr
99
1010combineAnnotations :: [Source.Def] -> Either String [Valid.Def]
11−combineAnnotations = go
12− where
13− msg x = "Syntax Error: The type annotation for '" ++ x ++
14− "' must be directly above its definition."
11+combineAnnotations =
12+ go
13+ where
14+ errorMessage x =
15+ "Syntax Error: The type annotation for '" ++ x ++
16+ "' must be directly above its definition."
1517
16− exprCombineAnnotations = Expr.crawlLet combineAnnotations
18+ exprCombineAnnotations =
19+ Expr.crawlLet combineAnnotations
1720
18− go defs =
19− case defs of
20− Source.TypeAnnotation name tipe : rest ->
21− case rest of
22− Source.Definition pat@(P.Var name') expr : rest'
23− | name == name' ->
24− do expr' <- exprCombineAnnotations expr
25− let def = Valid.Definition pat expr' (Just tipe)
26− (:) def <$> go rest'
21+ go defs =
22+ case defs of
23+ Source.TypeAnnotation name tipe : rest ->
24+ case rest of
25+ Source.Definition pat@(P.Var name') expr : rest'
26+ | name == name' ->
27+ do expr' <- exprCombineAnnotations expr
28+ let def = Valid.Definition pat expr' (Just tipe)
29+ (:) def <$> go rest'
2730
28− _ -> Left (msg name)
31+ _ ->
32+ Left (errorMessage name)
2933
30− Source.Definition pat expr : rest ->
31− do expr' <- exprCombineAnnotations expr
32− let def = Valid.Definition pat expr' Nothing
33− (:) def <$> go rest
34+ Source.Definition pat expr : rest ->
35+ do expr' <- exprCombineAnnotations expr
36+ let def = Valid.Definition pat expr' Nothing
37+ (:) def <$> go rest
3438
35− [] -> return []
39+ [] ->
40+ return []