on master help sign in
Get rid of redundant helper function
516b777Evan Czaplicki
src/Canonicalize.hs+6−9
@@ -263,35 +263,32 @@ declaration
263 -> D.ValidDecl
263 -> D.ValidDecl
264 -> Result.ResultErr D.CanonicalDecl
264 -> Result.ResultErr D.CanonicalDecl
265declaration env (A.A (region,_) decl) =
265declaration env (A.A (region,_) decl) =
266− let canonicalize kind _context _pattern env v =
267− kind env v
268− in
269 A.A region <$>
266 A.A region <$>
270 case decl of
267 case decl of
271 D.Definition (Valid.Definition p e t) ->
268 D.Definition (Valid.Definition p e t) ->
272 D.Definition <$> (
269 D.Definition <$> (
273 Canonical.Definition
270 Canonical.Definition
274− <$> canonicalize pattern "definition" p env p
271+ <$> pattern env p
275 <*> expression env e
272 <*> expression env e
276− <*> T.traverse (canonicalize Canonicalize.tipe "definition" p env) t
273+ <*> T.traverse (Canonicalize.tipe env) t
277 )
274 )
278
275
279 D.Datatype name tvars ctors ->
276 D.Datatype name tvars ctors ->
280 D.Datatype name tvars <$> T.traverse canonicalize' ctors
277 D.Datatype name tvars <$> T.traverse canonicalize' ctors
281 where
278 where
282 canonicalize' (ctor,args) =
279 canonicalize' (ctor,args) =
283− (,) ctor <$> T.traverse (canonicalize Canonicalize.tipe "datatype" name env) args
280+ (,) ctor <$> T.traverse (Canonicalize.tipe env) args
284
281
285 D.TypeAlias name tvars expanded ->
282 D.TypeAlias name tvars expanded ->
286 D.TypeAlias name tvars
283 D.TypeAlias name tvars
287− <$> canonicalize Canonicalize.tipe "type alias" name env expanded
284+ <$> Canonicalize.tipe env expanded
288
285
289 D.Port validPort ->
286 D.Port validPort ->
290 Result.addModule ["Native","Port"] $
287 Result.addModule ["Native","Port"] $
291 Result.addModule ["Native","Json"] $
288 Result.addModule ["Native","Json"] $
292 case validPort of
289 case validPort of
293 D.In name tipe ->
290 D.In name tipe ->
294− canonicalize Canonicalize.tipe "port" name env tipe
291+ Canonicalize.tipe env tipe
295 `Result.andThen` \canonicalType ->
292 `Result.andThen` \canonicalType ->
296 D.Port <$> Port.check region name Nothing canonicalType
293 D.Port <$> Port.check region name Nothing canonicalType
297
294
@@ -299,7 +296,7 @@ declaration env (A.A (region,_) decl) =
299 let exprTypeResult =
296 let exprTypeResult =
300 (,)
297 (,)
301 <$> expression env expr
298 <$> expression env expr
302− <*> canonicalize Canonicalize.tipe "port" name env tipe
299+ <*> Canonicalize.tipe env tipe
303 in
300 in
304 exprTypeResult
301 exprTypeResult
305 `Result.andThen` \(expr', tipe') ->
302 `Result.andThen` \(expr', tipe') ->