19.1 Introduction

  • Three pillars of tidy evaluation

    1. Quasiquotation
    2. Quosures (chapter 20)
    3. Data masks (Chapter 20)
  • Quasiquotation = quotation + unquotation:

    • Quote. Capture unevaluated expression …(“defuse”)
    • Unquote. Except for selected parts which we do want to evaluate! (“inject”)
  • Functions that use these features are said to use Non-standard evaluation (NSE)

  • Note: related to Lisp macros, and also exists in other languages with Lisp heritage, e.g. Julia