@@ -109,8 +109,8 @@ generateCode expr =
109109 VarLocal name ->
110110 jsExpr $ Var.local name
111111
112− VarGlobal home name ->
113− jsExpr $ Var.global home name
112+ VarGlobal name ->
113+ jsExpr $ Var.global name
114114
115115 Literal lit ->
116116 jsExpr (Literal.literal lit)
@@ -138,8 +138,8 @@ generateCode expr =
138138 do jsFields <- mapM toField fields
139139 jsExpr $ JS.Object jsFields
140140
141− Binop home op leftExpr rightExpr ->
142− generateBinop home op leftExpr rightExpr
141+ Binop op leftExpr rightExpr ->
142+ generateBinop op leftExpr rightExpr
143143
144144 Function args body ->
145145 generateFunction args body
@@ -300,13 +300,13 @@ generateFunctionWithArity rawArgs code =
300300generateCall :: Opt.Expr -> [Opt.Expr] -> State Int Code
301301generateCall func args =
302302 case (func, args) of
303− (Opt.VarGlobal home name, [arg]) ->
303+ (Opt.VarGlobal (V.Global home name), [arg]) ->
304304 case name of
305305 "complement" | home == bitwise -> genPrefix JS.PrefixBNot arg
306306 "not" | home == basics -> genPrefix JS.PrefixLNot arg
307307 _ -> generateCallHelp func args
308308
309− (Opt.VarGlobal home name, [ left, right ]) | home == bitwise ->
309+ (Opt.VarGlobal (V.Global home name), [ left, right ]) | home == bitwise ->
310310 case name of
311311 "and" -> genInfix JS.OpBAnd left right
312312 "or" -> genInfix JS.OpBOr left right
@@ -540,22 +540,22 @@ pathToExpr root fullPath =
540540-- BINARY OPERATORS
541541
542542
543−generateBinop :: ModuleName.Canonical -> Text -> Opt.Expr -> Opt.Expr -> State Int Code
544−generateBinop home op left right =
543+generateBinop :: V.Global -> Opt.Expr -> Opt.Expr -> State Int Code
544+generateBinop op left right =
545545 do jsLeft <- generateJsExpr left
546546 jsRight <- generateJsExpr right
547− jsExpr (generateBinopHelp home op jsLeft jsRight)
547+ jsExpr (generateBinopHelp op jsLeft jsRight)
548548
549549
550550
551551-- BINARY OPERATOR HELPERS
552552
553553
554−generateBinopHelp :: ModuleName.Canonical -> Text -> JS.Expr -> JS.Expr -> JS.Expr
555−generateBinopHelp home op leftExpr rightExpr =
554+generateBinopHelp :: V.Global -> JS.Expr -> JS.Expr -> JS.Expr
555+generateBinopHelp var@(V.Global home op) leftExpr rightExpr =
556556 let
557557 simpleMake left right =
558− JS.Call (ref "A2") [ Var.global home op, left, right ]
558+ JS.Call (ref "A2") [ Var.global var, left, right ]
559559 in
560560 if home == basics then
561561 (Map.findWithDefault simpleMake op basicOps) leftExpr rightExpr