on master help sign in
improve style, remove unused delist function
commit40cc419d8d372e80723d68497352e3f3a9e94007 authorEvan Czaplicki <info@elm-lang.org> dateMon 9 Feb 2015, 15:28 (12 years ago) parent5c1af0e
1 file changed+31−15
src/AST/Expression/General.hs+31−15
src/AST/Expression/General.hs+31−15
@@ -18,6 +18,7 @@ import qualified AST.Literal as Literal
1818import qualified AST.Pattern as Pattern
1919import qualified AST.Variable as Var
2020
21+
2122---- GENERAL AST ----
2223
2324{-| This is a fully general Abstract Syntax Tree (AST) for expressions. It has
@@ -38,6 +39,7 @@ move through the compilation process. The type holes are used to represent:
3839type Expr annotation definition variable =
3940 Annotation.Annotated annotation (Expr' annotation definition variable)
4041
42+
4143data Expr' ann def var
4244 = Literal Literal.Literal
4345 | Var var
@@ -65,24 +67,29 @@ data Expr' ann def var
6567---- UTILITIES ----
6668
6769rawVar :: String -> Expr' ann def Var.Raw
68−rawVar x = Var (Var.Raw x)
70+rawVar x =
71+ Var (Var.Raw x)
72+
6973
7074localVar :: String -> Expr' ann def Var.Canonical
71−localVar x = Var (Var.Canonical Var.Local x)
75+localVar x =
76+ Var (Var.Canonical Var.Local x)
77+
7278
7379tuple :: [Expr ann def var] -> Expr' ann def var
74−tuple es = Data ("_Tuple" ++ show (length es)) es
80+tuple expressions =
81+ Data ("_Tuple" ++ show (length expressions)) expressions
7582
76−delist :: Expr ann def var -> [Expr ann def var]
77−delist (Annotation.A _ (Data "::" [h,t])) = h : delist t
78−delist _ = []
7983
8084saveEnvName :: String
81−saveEnvName = "_save_the_environment!!!"
85+saveEnvName =
86+ "_save_the_environment!!!"
87+
8288
8389dummyLet :: (Pretty def) => [def] -> Expr Annotation.Region def Var.Canonical
8490dummyLet defs =
85− Annotation.none $ Let defs (Annotation.none $ Var (Var.builtin saveEnvName))
91+ Annotation.none $ Let defs (Annotation.none $ Var (Var.builtin saveEnvName))
92+
8693
8794instance (Pretty def, Pretty var, Var.ToString var) => Pretty (Expr' ann def var) where
8895 pretty expr =
@@ -138,11 +145,17 @@ instance (Pretty def, Pretty var, Var.ToString var) => Pretty (Expr' ann def var
138145 pexpr = P.sep [ P.text "case" <+> pretty e, P.text "of" ]
139146 pretty' (p,b) = pretty p <+> P.text "->" <+> pretty b
140147
141− Data "::" [hd,tl] -> pretty hd <+> P.text "::" <+> pretty tl
142− Data "[]" [] -> P.text "[]"
148+ Data "::" [hd,tl] ->
149+ pretty hd <+> P.text "::" <+> pretty tl
150+
151+ Data "[]" [] ->
152+ P.text "[]"
153+
143154 Data name es
144− | Help.isTuple name -> P.parens (commaCat (map pretty es))
145− | otherwise -> P.hang (P.text name) 2 (P.sep (map prettyParens es))
155+ | Help.isTuple name ->
156+ P.parens (commaCat (map pretty es))
157+ | otherwise ->
158+ P.hang (P.text name) 2 (P.sep (map prettyParens es))
146159
147160 Access e x ->
148161 prettyParens e <> P.text "." <> variable x
@@ -178,11 +191,14 @@ instance (Pretty def, Pretty var, Var.ToString var) => Pretty (Expr' ann def var
178191 field (field, value) =
179192 variable field <+> P.equals <+> pretty value
180193
181− GLShader _ _ _ -> P.text "[glsl| ... |]"
194+ GLShader _ _ _ ->
195+ P.text "[glsl| ... |]"
182196
183− PortIn name _ -> P.text $ "<port:" ++ name ++ ">"
197+ PortIn name _ ->
198+ P.text $ "<port:" ++ name ++ ">"
184199
185− PortOut _ _ signal -> pretty signal
200+ PortOut _ _ signal ->
201+ pretty signal
186202
187203
188204collectApps :: Expr ann def var -> [Expr ann def var]