lambda - Utility commands for anonymous procedures
Contents
Bugs, 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 TcllibTrackers [http://core.tcl.tk/tcllib/reportlist]. Please
also report any ideas for enhancements you may have for either package and/or documentation.
When proposing code changes, please provide unifieddiffs, i.e the output of diff-u.
Note further that attachments are strongly preferred over inlined patches. Attachments can be made by
going to the Edit form of the ticket immediately after its creation, and then using the left-most button
in the secondary navigation bar.
Category
Utility
Commands
::lambdaargumentsbody ?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@namespaceargumentsbody ?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.
Copyright
Copyright (c) 2011 Andreas Kupries, BSD licensed
tcllib 1.1 lambda(3tcl)
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} {
....
}}}
with its deep nesting of braces, or
set f [list ::apply {{x y} {
....
}} $value_for_x]
with a list command to insert some of the arguments of a partial application, just write
set f [lambda {x} {
....
}]
and
set f [lambda {x y} {
....
} $value_for_x]
Keywords
anonymous procedure, callback, command prefix, currying, lambda, partial application, proc
Name
lambda - Utility commands for anonymous procedures
See Also
apply(3tcl), proc(3tcl)
Synopsis
package require Tcl8.59
package require lambda?1.1?::lambdaargumentsbody ?arg...?
::lambda@namespaceargumentsbody ?arg...?
________________________________________________________________________________________________________________
