X-Git-Url: https://git.stderr.nl/gitweb?a=blobdiff_plain;f=CoreTools.hs;h=dfb4f5c680ddebede83c4584c59beb4fe82e7b3b;hb=f821a93d2c6a15c8640131f1e54d3dbb5477301d;hp=c797bb7581fa3b615af426e1693f4ff6303235ae;hpb=ede1f399f096569d1305cd75cb21f037bd4162dc;p=matthijs%2Fmaster-project%2Fc%CE%BBash.git diff --git a/CoreTools.hs b/CoreTools.hs index c797bb7..dfb4f5c 100644 --- a/CoreTools.hs +++ b/CoreTools.hs @@ -149,6 +149,10 @@ is_applicable expr = is_fun expr || is_poly expr has_free_tyvars :: CoreSyn.CoreExpr -> Bool has_free_tyvars = not . VarSet.isEmptyVarSet . (CoreFVs.exprSomeFreeVars Var.isTyVar) +-- Does the given CoreExpr have any free local vars? +has_free_vars :: CoreSyn.CoreExpr -> Bool +has_free_vars = not . VarSet.isEmptyVarSet . CoreFVs.exprFreeVars + -- Turns a Var CoreExpr into the Id inside it. Will of course only work for -- simple Var CoreExprs, not complexer ones. exprToVar :: CoreSyn.CoreExpr -> Var.Id