Posted to tcl by kbk at Tue Jul 28 20:48:58 GMT 2015view pretty

proc gensym {} {
    variable i
    return \#g[incr i]
}
proc makeTimes {a} {
    set p [gensym]
    proc $p [list b [list a $a]] {expr {$a * $b}}
    return $p
}
set double [makeTimes 2]
puts [$double 3]