Provided by: tcllib_1.19-dfsg-2_all bug

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
       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]

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 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   Trackers
       [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 unified diffs, 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.

SEE ALSO

       apply(3tcl), proc(3tcl)

KEYWORDS

       anonymous procedure, callback, command prefix, currying, lambda, partial application, proc

CATEGORY

       Utility

COPYRIGHT

       Copyright (c) 2011 Andreas Kupries, BSD licensed