Version 121 of Rohan Pall

Updated 2005-03-25 15:33:27

mailto:[email protected] http://rohanpall.com/img.gif

Favorite Pages:

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 [L1 ]: Tcl/tk actually two langs but they are bound together like spaghetti and marinara .

Category Home Page | Category Person