@@ -113,53 +113,53 @@ dummyLet defs =
113113-- PRETTY PRINTING
114114
115115instance (P.Pretty def, P.Pretty var, Var.ToString var) => P.Pretty (Expr' ann def var typ) where
116− pretty needsParens expression =
116+ pretty dealiaser needsParens expression =
117117 case expression of
118118 Literal literal ->
119− P.pretty needsParens literal
119+ P.pretty dealiaser needsParens literal
120120
121121 Var x ->
122− P.pretty needsParens x
122+ P.pretty dealiaser needsParens x
123123
124124 Range lowExpr highExpr ->
125125 P.brackets $
126− P.pretty False lowExpr
126+ P.pretty dealiaser False lowExpr
127127 <> P.text ".."
128− <> P.pretty False highExpr
128+ <> P.pretty dealiaser False highExpr
129129
130130 ExplicitList elements ->
131− P.brackets (P.commaCat (map (P.pretty False) elements))
131+ P.brackets (P.commaCat (map (P.pretty dealiaser False) elements))
132132
133133 Binop op (A.A _ (Literal (Literal.IntNum 0))) expr
134134 | Var.toString op == "-" ->
135− P.text "-" <> P.pretty True expr
135+ P.text "-" <> P.pretty dealiaser True expr
136136
137137 Binop op leftExpr rightExpr ->
138138 P.parensIf needsParens $
139139 P.hang
140− (P.pretty True leftExpr)
140+ (P.pretty dealiaser True leftExpr)
141141 2
142− (P.text op'' <+> P.pretty True rightExpr)
142+ (P.text op'' <+> P.pretty dealiaser True rightExpr)
143143 where
144144 op' = Var.toString op
145145 op'' = if Help.isOp op' then op' else "`" ++ op' ++ "`"
146146
147147 Lambda pattern expr ->
148148 P.parensIf needsParens $
149− P.text "\\" <> args <+> P.text "->" <+> P.pretty False body
149+ P.text "\\" <> args <+> P.text "->" <+> P.pretty dealiaser False body
150150 where
151151 (patterns, body) =
152152 collectLambdas expr
153153
154154 args =
155− P.sep (map (P.pretty True) (pattern : patterns))
155+ P.sep (map (P.pretty dealiaser True) (pattern : patterns))
156156
157157 App expr arg ->
158158 P.parensIf needsParens $
159159 P.hang func 2 (P.sep args)
160160 where
161161 func:args =
162− map (P.pretty True) (collectApps expr ++ [arg])
162+ map (P.pretty dealiaser True) (collectApps expr ++ [arg])
163163
164164 MultiIf branches ->
165165 P.parensIf needsParens $
@@ -168,9 +168,9 @@ instance (P.Pretty def, P.Pretty var, Var.ToString var) => P.Pretty (Expr' ann d
168168 iff (condition, branch) =
169169 P.text "|" <+>
170170 P.hang
171− (P.pretty False condition <+> P.text "->")
171+ (P.pretty dealiaser False condition <+> P.text "->")
172172 2
173− (P.pretty False branch)
173+ (P.pretty dealiaser False branch)
174174
175175 Let defs body ->
176176 P.parensIf needsParens $
@@ -178,8 +178,8 @@ instance (P.Pretty def, P.Pretty var, Var.ToString var) => P.Pretty (Expr' ann d
178178 [ P.hang
179179 (P.text "let")
180180 4
181− (P.vcat (map (P.pretty False) defs))
182− , P.text "in" <+> P.pretty False body
181+ (P.vcat (map (P.pretty dealiaser False) defs))
182+ , P.text "in" <+> P.pretty dealiaser False body
183183 ]
184184
185185 Case expr branches ->
@@ -187,16 +187,16 @@ instance (P.Pretty def, P.Pretty var, Var.ToString var) => P.Pretty (Expr' ann d
187187 P.hang pexpr 2 (P.vcat (map pretty' branches))
188188 where
189189 pexpr =
190− P.text "case" <+> P.pretty False expr <+> P.text "of"
190+ P.text "case" <+> P.pretty dealiaser False expr <+> P.text "of"
191191
192192 pretty' (pattern, branch) =
193− P.pretty False pattern
193+ P.pretty dealiaser False pattern
194194 <+> P.text "->"
195− <+> P.pretty False branch
195+ <+> P.pretty dealiaser False branch
196196
197197 Data "::" [hd,tl] ->
198198 P.parensIf needsParens $
199− P.pretty True hd <+> P.text "::" <+> P.pretty True tl
199+ P.pretty dealiaser True hd <+> P.text "::" <+> P.pretty dealiaser True tl
200200
201201 Data "[]" [] ->
202202 P.text "[]"
@@ -204,49 +204,49 @@ instance (P.Pretty def, P.Pretty var, Var.ToString var) => P.Pretty (Expr' ann d
204204 Data name exprs ->
205205 if Help.isTuple name
206206 then
207− P.parens (P.commaCat (map (P.pretty False) exprs))
207+ P.parens (P.commaCat (map (P.pretty dealiaser False) exprs))
208208 else
209209 P.parensIf (needsParens && not (null exprs)) $
210210 P.hang
211211 (P.text name)
212212 2
213− (P.sep (map (P.pretty True) exprs))
213+ (P.sep (map (P.pretty dealiaser True) exprs))
214214
215215 Access record field ->
216− P.pretty True record <> P.text "." <> P.text field
216+ P.pretty dealiaser True record <> P.text "." <> P.text field
217217
218218 Remove record field ->
219− P.braces (P.pretty False record <+> P.text "-" <+> P.text field)
219+ P.braces (P.pretty dealiaser False record <+> P.text "-" <+> P.text field)
220220
221221 Insert (A.A _ (Remove record oldField)) newField expr ->
222222 P.braces $
223223 P.hsep
224− [ P.pretty False record
224+ [ P.pretty dealiaser False record
225225 , P.text "-"
226226 , P.text oldField
227227 , P.text "|"
228228 , P.text newField
229229 , P.equals
230− , P.pretty False expr
230+ , P.pretty dealiaser False expr
231231 ]
232232
233233 Insert record field expr ->
234234 P.braces $
235− P.pretty False record
235+ P.pretty dealiaser False record
236236 <+> P.text "|"
237237 <+> P.text field
238238 <+> P.equals
239− <+> P.pretty False expr
239+ <+> P.pretty dealiaser False expr
240240
241241 Modify record fields ->
242242 P.braces $
243243 P.hang
244− (P.pretty False record <+> P.text "|")
244+ (P.pretty dealiaser False record <+> P.text "|")
245245 4
246246 (P.commaSep $ map prettyField fields)
247247 where
248248 prettyField (field, expr) =
249− P.text field <+> P.text "<-" <+> P.pretty False expr
249+ P.text field <+> P.text "<-" <+> P.pretty dealiaser False expr
250250
251251 Record fields ->
252252 P.sep
@@ -255,17 +255,17 @@ instance (P.Pretty def, P.Pretty var, Var.ToString var) => P.Pretty (Expr' ann d
255255 ]
256256 where
257257 field (name, expr) =
258− P.text name <+> P.equals <+> P.pretty False expr
258+ P.text name <+> P.equals <+> P.pretty dealiaser False expr
259259
260260 GLShader _ _ _ ->
261261 P.text "[glsl| ... |]"
262262
263263 Port portImpl ->
264− P.pretty needsParens portImpl
264+ P.pretty dealiaser needsParens portImpl
265265
266266
267267instance P.Pretty (PortImpl expr tipe) where
268− pretty _ impl =
268+ pretty _ _ impl =
269269 P.text ("<port:" ++ portName impl ++ ">")
270270
271271