diff options
author | Steve Bennett <steveb@workware.net.au> | 2011-12-03 08:14:01 +1000 |
---|---|---|
committer | Steve Bennett <steveb@workware.net.au> | 2011-12-12 13:44:01 +1000 |
commit | a7b70857c62003d1f43352bd9a5499f87a2100f6 (patch) | |
tree | 2ebb3597e3bec6f9df8c98042e23b5c97a3b5b07 /stdlib.tcl | |
parent | 043dadf7d4cf8291050c7040489c726ff3cdf726 (diff) | |
download | jimtcl-a7b70857c62003d1f43352bd9a5499f87a2100f6.zip jimtcl-a7b70857c62003d1f43352bd9a5499f87a2100f6.tar.gz jimtcl-a7b70857c62003d1f43352bd9a5499f87a2100f6.tar.bz2 |
Implement curry with alias
Signed-off-by: Steve Bennett <steveb@workware.net.au>
Diffstat (limited to 'stdlib.tcl')
-rw-r--r-- | stdlib.tcl | 8 |
1 files changed, 2 insertions, 6 deletions
@@ -1,7 +1,6 @@ # Creates an anonymous procedure proc lambda {arglist args} { - set name [ref {} function lambda.finalizer] - tailcall proc $name $arglist {*}$args + tailcall proc [ref {} function lambda.finalizer] $arglist {*}$args } proc lambda.finalizer {name val} { @@ -10,10 +9,7 @@ proc lambda.finalizer {name val} { # Like alias, but creates and returns an anonyous procedure proc curry {args} { - set prefix $args - lambda args prefix { - tailcall {*}$prefix {*}$args - } + alias [ref {} function lambda.finalizer] {*}$args } # Returns the given argument. |