lambda(n) Utility commands for anonymous procedures lambda(n)______________________________________________________________________________NAMElambda - Utility commands for anonymous procedures
SYNOPSIS
package require Tcl 8.5
package 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} {
}}}
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 appli‐
cation, just write
set f [lambda {x} {
}]
and
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 proce‐
dure.
When invoked the body is run in a new procedure scope just
underneath the global scope, with the arguments set to the val‐
ues 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 Kupries
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 Tcllib SF Trackers [http://source‐
forge.net/tracker/?group_id=12883]. Please also report any ideas for
enhancements you may have for either package and/or documentation.
SEE ALSOapply(n), proc(n)KEYWORDS
anonymous procedure, callback, command prefix, currying, lambda, par‐
tial application, proc
CATEGORY
Utility
COPYRIGHT
Copyright (c) 2011 Andreas Kupries, BSD licensed
lambda 1 lambda(n)