SIMPLE SOLUTIONS

LAMBDA(3TCL) - man page online | library functions

Utility commands for anonymous procedures.

Chapter
1
lambda(3tcl)                Utility commands for anonymous procedures                lambda(3tcl)

_________________________________________________________________________________________________

NAME

lambda - 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 proce‐ dures, 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]

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 rep‐ resenting 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 com‐ mand 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 prob‐ lems. Please report such in the category lambda of the Tcllib Trackers [http://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, proc

CATEGORY

Utility
Copyright (c) 2011 Andreas Kupries, BSD licensed
tcllib 1 lambda(3tcl)
This manual Reference Other manuals
lambda(3tcl) referred by
refer to apply(3tcl) | proc(3tcl)