Call me Ro, all my friends do.
Question: Do I have an extraneous eval?
proc a> {a args} {eval [list interp alias {} $a {}] $args} a> p puts ; a> s set a> sr list ::S ; a> ss s [sr] ; ss {1 2 3} a> . eval {lindex [ss] 0} a> drop eval {ss [lreplace [ss] 0 0]} a> ex eval {eval [.] ; drop} a> ? s errorInfo
GPS: Ro, that's very clever usage of interp alias. :)
DKF: There are no extra eval uses in there.
Wiki Ideas
Bonus Material
% proc |ex {s x} {foreach a [split $x |] {eval $s $a}} % |ex puts {frozen | bobble | nibble} frozen bobble nibble % proc napa {a b args} {puts "$a - $b - $args"} % napa ergo eroig 43 ei4 ergo - eroig - 43 ei4 % |ex {napa string length} {frozen | bobble | nibble} string - length - frozen string - length - bobble string - length - nibble % |ex {napa string length [incr ::n]} {a|b|c} string - length - 3 a string - length - 4 b string - length - 5 c % |ex {a> c[incr ::n] puts} {a|b|c} % c6 a % c7 b % c8 c