Jikka-5.6.0.0: A transpiler from Python to C++ for competitive programming
Copyright(c) Kimiyuki Onaka 2020
LicenseApache License 2.0
Maintainerkimiyuki95@gmail.com
Stabilityexperimental
Portabilityportable
Safe HaskellNone
LanguageHaskell2010

Jikka.Core.Convert.RemoveUnusedVars

Description

RemoveUnusedVars remove unused variables from exprs.

Synopsis

Documentation

run :: MonadError Error m => Program -> m Program Source #

run removes unused variables in given programs.

This also removes variables for recursion, i.e. "rec" flags. ToplevelLetRec may becomes ToplevelLet.

For example, this converts

let rec solve x =
    let y = 0
    in x
in solve

to

let solve x =
    x
in solve