From: David Bremner Date: Tue, 24 Aug 2021 15:17:41 +0000 (-0700) Subject: lib/parse-sexp: apply macros X-Git-Tag: archive/debian/0.34_rc0-1~33 X-Git-Url: https://git.cworth.org/git?a=commitdiff_plain;h=551254eb76c9bb558078f04f21df1f6089cb03d6;hp=551254eb76c9bb558078f04f21df1f6089cb03d6;p=notmuch lib/parse-sexp: apply macros Macros implement lazy evaluation and lexical scope. The former is needed to make certain natural constructs work sensibly (e.g. (tag ,param)) but the latter is mainly future-proofing in case the DSL is is extended to allow local bindings. For technical background, see chapters 6 and 17 of [1] (or some other intermediate programming languages textbook). [1] http://cs.brown.edu/courses/cs173/2012/book/ ---