← Back to context

Comment by bsder

12 days ago

Quasiquoting is only necessary in Lisp because Lisp evaluates its arguments by default. Tcl does not do that.

Quasiquoting allows us to specify a mostly fixed template of code where we would like to indicate variable parts that are to be substituted (note: not evaluated).

The stuff here sure looks like quasiquoting to me:

https://wiki.tcl-lang.org/page/Macro+Facility+for+Tcl

  mac  mloop {idx cnt cmd} {
     return "for {set $idx 0} {\$[set $idx] < $cnt} {incr $idx} {$cmd}"
  }

The "..." with embedded $... reference is is a kind of quasiquote.