lambda
******


BEMERKUNGEN
===========

   Von der Verwendung wird aus Lesbarkeits- und Wartungsgruenden
   dringend abgeraten.


BEISPIEL
========

   Das Beispiel dient nur der Illustration, nicht zur Nachahmung.
   Bitte verwendet lfun- oder inline-Closures.

      // Lambdas werden gern eingesetzt, um komplexere Filter zu schreiben
      // Allerdings kann jede Lambda dabei auch durch eine Inline-Closure
      // oder eine LFun-Closure ersetzt werden.
      filter(users(),
        lambda(({'x}),
               ({#'==,
                 ({#'call_other,'x,"QueryProp",P_SECOND}),"gloinson"
              })));
