@@ -56,6 +56,7 @@ expression :: Expr -> State Int (Expression ())
56expression (A region expr) =
56expression (A region expr) =
57 case expr of
57 case expr of
58 Var (V.Raw x) -> return $ obj x
58 Var (V.Raw x) -> return $ obj x
59 Literal lit -> return $ literal lit
60 Literal lit -> return $ literal lit
61 Range lo hi ->
62 Range lo hi ->
@@ -216,19 +217,19 @@ definition (Definition pattern expr@(A region _) _) = do
216 decl x n = varDecl x (dotSep ["$","_" ++ show n])
217 decl x n = varDecl x (dotSep ["$","_" ++ show n])
217 setup vars
218 setup vars
218 | Help.isTuple name = assign "$" : vars
219 | Help.isTuple name = assign "$" : vars
219− | otherwise = assign "$raw" : safeAssign : vars
220+ | otherwise = assign "_raw" : safeAssign : vars
221− safeAssign = varDecl "$" (CondExpr () if' (obj "$raw") exception)
222+ safeAssign = varDecl "$" (CondExpr () if' (obj "_raw") exception)
222− if' = InfixExpr () OpStrictEq (obj "$raw.ctor") (string name)
223+ if' = InfixExpr () OpStrictEq (obj "_raw.ctor") (string name)
223 exception = obj "_E.Case" `call` [ref "$moduleName", string (renderPretty region)]
224 exception = obj "_E.Case" `call` [ref "$moduleName", string (renderPretty region)]
226 do defs' <- concat <$> mapM toDef vars
227 do defs' <- concat <$> mapM toDef vars
227− return (VarDeclStmt () [assign "$"] : defs')
228+ return (VarDeclStmt () [assign "_"] : defs')
229 vars = P.boundVarList pattern
230 vars = P.boundVarList pattern
230 mkVar = A region . rawVar
231 mkVar = A region . rawVar
231− toDef y = let expr = A region $ Case (mkVar "$") [(pattern, mkVar y)]
232+ toDef y = let expr = A region $ Case (mkVar "_") [(pattern, mkVar y)]
232 in definition $ Definition (P.Var y) expr Nothing
233 in definition $ Definition (P.Var y) expr Nothing
234match :: Region -> Case.Match -> State Int [Statement ()]
235match :: Region -> Case.Match -> State Int [Statement ()]