lambda... again



Yes, I have read about it
http://wiki.tcl.tk/519
http://wiki.tcl.tk/10782

Why didn't anyone use this obvious variant?

proc lambda {p b} {
set name [list lambda $p $b]
if {[info procs $name] eq ""} {
proc $name $p $b
}
return $name
}

General lambda use cases work well:

% [lambda {s1 s2} {puts "s1=$s1 s2=$s2"}] asd cvb
s1=asd s2=cvb

% set aaa [lambda {s1 s2} {puts "s1=$s1 s2=$s2"}]
lambda {s1 s2} {puts "s1=$s1 s2=$s2"}
% $aaa q w
s1=q s2=w

Something wrong?

.