[George Peter Staplin]: July 10, 2004 - It sometimes amazes me how beautiful some aspects of Tcl are. I've been using proc unknown args {expr $args} for a while for doing calculations and tests when designing software. Today it occured to me that I could make life easier and avoid so many parentheses by extending that simple unknown procedure to this: proc unknown args {set ::that [expr $args]} Now I can do: $ echo "proc unknown args {set ::that [expr \$args]}" > .tclshrc $ tclsh8.4 % 1000 * 256 256000 % $that / 8 32000 ---- [Scott Nichols] Really cool. Would there be any issues adding your calculator proc to existing Tcl applications? This would be helpful and save typing time for programmers. [George Peter Staplin]: Error handling and auto-loading/lazy-loading might not work the same. You could do it this way: rename unknown _unknown proc unknown args { global that if {[catch {expr $args} that]} { uplevel 1 [concat _unknown $args] } }