module til-rename-vars imports TIL liblib strategies io-til-rename-vars = io-wrap(til-rename-vars) til-rename-vars = Var(RenameVar) <+ Assign(RenameVar, til-rename-vars) // <+ Read(RenameVar) <+ For(RenameVar, til-rename-vars, til-rename-vars, til-rename-vars) <+ RenameDeclaration <+ Block({| RenameVar : map(til-rename-vars) |}) <+ all(til-rename-vars) RenameDeclaration : Declaration(x) -> Declaration(y) where x => y ; rules( RenameVar : x -> y ) RenameDeclaration : DeclarationTyped(x, t) -> DeclarationTyped(y, t) where x => y ; rules( RenameVar : x -> y )