lambda(3)



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 procedures, i.e. lambdas more proc-like. Instead of, for  ex-
       ample, 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 un-
              derneath 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 out-
       put 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,  par-
       tial application, proc

CATEGORY
       Utility

COPYRIGHT
       Copyright (c) 2011 Andreas Kupries, BSD licensed

tcllib                                 1                          lambda(3tcl)

Man(1) output converted with man2html
list of all man pages