on master help sign in
Fix bug in port encoder generation
commit0efde806d7469ad1c9b5f7278b36c9a5081f6e9a authorEvan Czaplicki <evancz@users.noreply.github.com> dateSat 27 Jan 2018, 20:17 (9 years ago) parent3179eaa
1 file changed+2−8
src/Optimize/Port.hs+2−8
src/Optimize/Port.hs+2−8
@@ -92,21 +92,15 @@ encodeMaybe tipe =
9292encodeList :: Can.Type -> Names.Tracker Opt.Expr
9393encodeList tipe =
9494 do list <- encode "list"
95− map_ <- Names.registerGlobal ModuleName.list "map"
9695 encoder <- toEncoder tipe
97− return $
98− Opt.Function [N.dollar] $
99− Opt.Call list [ Opt.Call map_ [ encoder, Opt.VarLocal N.dollar ] ]
96+ return $ Opt.Call list [ encoder ]
10097
10198
10299encodeArray :: Can.Type -> Names.Tracker Opt.Expr
103100encodeArray tipe =
104101 do array <- encode "array"
105− map_ <- Names.registerGlobal ModuleName.array "map"
106102 encoder <- toEncoder tipe
107− return $
108− Opt.Function [N.dollar] $
109− Opt.Call array [ Opt.Call map_ [ encoder, Opt.VarLocal N.dollar ] ]
103+ return $ Opt.Call array [ encoder ]
110104
111105
112106encodeTuple :: Can.Type -> Can.Type -> Maybe Can.Type -> Names.Tracker Opt.Expr