[http://duke.rohanpall.com/art/lilbo.gif] mailto:rohan@rohanpall.com Call me [Ro], all my friends do. * [Another MDI] * [A little windows keylogger] * [Super Code] * [A little Slashdot comment parser] * [Checking your IMAP mail with Expect] * [dislocate] * [Gradients Color Transitions] * [Using Snit to glue diff, patch, and md5sum] Favorite Pages: * [Functional Imaging] o [Functional Composition] Programming tcltk on Windows is a great experience, once you have some good tools, such as [winico], [freewrap], [tclkit], [ffidl], [tkdnd], [snack]... ''Any others?'' '''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''' * Hash as a proc? '''Bonus Material''' '''|ex''' apply to a list % proc a> {a args} {eval [list interp alias {} $a {}] $args} % proc |ex {s x} {foreach a [split $x |] {eval $s $a}} % set n 0 0 % |ex {a> c[incr ::n] puts} {a|b|c} % c1 a % c2 b % c3 c '''aka''' set/get an alias % proc a> {a args} {eval [list interp alias {} $a {}] $args} % a> a< interp alias {} a< % a> g uplevel #0 g % a< g uplevel #0 ''save typing lots of aliases'' % |ex a> {pk proc | g uplevel #0 | r puts "r0x0rz my b0x0rz"} From Alan Donaly's page [http://adonalypgs.esmartweb.com/tool.html]: '''Tcl/tk actually two langs but they are bound together like spaghetti and marinara .''' [Category Home Page] | [Category Person]