lambda (3)
NAME
lambda - Utility commands for anonymous proceduresSYNOPSIS
package require Tcl 8.5package require lambda ?1?
::lambda arguments body ?arg...?
::lambda@ namespace arguments body ?arg...?
DESCRIPTION
This package provides two convenience commands to make the writing of anonymous procedures, i.e. lambdas more proc-like. Instead of, for example, to write
-
set f {::apply {{x} { .... }}}
-
set f [list ::apply {{x y} { .... }} $value_for_x]
-
set f [lambda {x} { .... }]
-
set f [lambda {x y} { .... } $value_for_x]
COMMANDS
- ::lambda arguments body ?arg...?
-
The command constructs an anonymous procedure from the list of
arguments, body script and (optional) predefined argument values and
returns a command prefix representing this anonymous procedure.
When invoked the body is run in a new procedure scope just underneath the global scope, with the arguments set to the values supplied at both construction and invokation time.
- ::lambda@ namespace arguments body ?arg...?
-
The command constructs an anonymous procedure from the namespace name,
list of arguments, body script and (optional) predefined argument
values and returns a command prefix representing this anonymous
procedure.
When invoked the body is run in a new procedure scope in the namespace, with the arguments set to the values supplied at both construction and invokation time.
AUTHORS
Andreas KupriesBUGS, IDEAS, FEEDBACK
This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category lambda of the Tcllib Trackers [core.tcl.tk/tcllib/reportlist] Please also report any ideas for enhancements you may have for either package and/or documentation.SEE ALSO
apply(3tcl), proc(3tcl)KEYWORDS
anonymous procedure, callback, command prefix, currying, lambda, partial application, procCATEGORY
UtilityCOPYRIGHT
Copyright (c) 2011 Andreas Kupries, BSD licensed