Week 10: Metaprogramming

Main reference

  • 17-20 Advanced R
  • What you will learn this week

  • Design
  • Non-standard evaluation (changing the expression or environment)
  • Abstract syntax trees
  • tidyselect
  • Symbols, expressions, quosures (names, calls, calls+environments)
  • Parsing and evaluating code
  • Code safety from injection attacks

Slides for week

Download pdf

Assignments