on master help sign in
Give more flexibility in adding indexes to names
commita97552b8d0ae87d048bbd26ce40032bec1b31ccc authorEvan Czaplicki <evancz@users.noreply.github.com> dateFri 15 Dec 2017, 18:59 (9 years ago) parent06e7d8f
2 files changed+6−6
src/Elm/Name.hs+4−4 src/Optimize/Port.hs+2−2
src/Elm/Name.hs+4−4
@@ -6,7 +6,7 @@ module Elm.Name
66 , toString
77 , toBuilder
88 , toShort
9− , localFromInt
9+ , addIndex
1010 , toCompositeName
1111 , int, float, bool, char, string
1212 , maybe, list, array, tuple
@@ -53,9 +53,9 @@ toShort =
5353 error "TODO"
5454
5555
56−localFromInt :: Int -> Name
57−localFromInt n =
58− Text.pack ('x' : show n)
56+addIndex :: Name -> Int -> Name
57+addIndex name i =
58+ Text.append name (Text.pack (show i))
5959
6060
6161toCompositeName :: Set.Set Name -> Name
src/Optimize/Port.hs+2−2
@@ -268,7 +268,7 @@ decodeTuple a b maybeC =
268268
269269toLocal :: Int -> Opt.Expr
270270toLocal index =
271− Opt.VarLocal (N.localFromInt index)
271+ Opt.VarLocal (N.addIndex "x" index)
272272
273273
274274indexAndThen :: Int -> Can.Type -> Opt.Expr -> Names.Tracker Opt.Expr
@@ -278,7 +278,7 @@ indexAndThen i tipe decoder =
278278 typeDecoder <- toDecoder tipe
279279 return $
280280 Opt.Call andThen
281− [ Opt.Function [N.localFromInt i] decoder
281+ [ Opt.Function [N.addIndex "x" i] decoder
282282 , Opt.Call index [ Opt.Int i, typeDecoder ]
283283 ]
284284