diff options
author | Steve Bennett <steveb@workware.net.au> | 2017-08-26 09:23:03 +1000 |
---|---|---|
committer | Steve Bennett <steveb@workware.net.au> | 2017-09-01 09:01:15 +1000 |
commit | 52c8b8b6adba1e32b460d44cb0a716db9fda69bc (patch) | |
tree | 4f882baf7ca1bac403389f12112d3406dc890975 /stdlib.tcl | |
parent | 9b746a28ddeaab0610c423b4426bb6f18b72c515 (diff) | |
download | jimtcl-52c8b8b6adba1e32b460d44cb0a716db9fda69bc.zip jimtcl-52c8b8b6adba1e32b460d44cb0a716db9fda69bc.tar.gz jimtcl-52c8b8b6adba1e32b460d44cb0a716db9fda69bc.tar.bz2 |
Support lambda even if references are disabled
It's convenient to support a non-gc lambda, even if references
are disabled.
Signed-off-by: Steve Bennett <steveb@workware.net.au>
Diffstat (limited to 'stdlib.tcl')
-rw-r--r-- | stdlib.tcl | 7 |
1 files changed, 7 insertions, 0 deletions
@@ -1,5 +1,12 @@ # Implements script-based standard commands for Jim Tcl +if {![exists -command ref]} { + # No support for references, so create a poor-man's reference just good enough for lambda + proc ref {args} {{count 0}} { + format %08x [incr count] + } +} + # Creates an anonymous procedure proc lambda {arglist args} { tailcall proc [ref {} function lambda.finalizer] $arglist {*}$args |