SYNOPSIS
        closure unbound_lambda(mixed *arg, mixed code)

BESCHREIBUNG
        Erzeugt eine Lambda-Closure, die nicht an ein Objekt gebunden ist,
        entsprechend einer Lambda-Funktion in LISP.

        Die Closure kann keine Referenz zu globalen Variablen enthalten.
        Lfun-Closures werden unveraendert in die Closure eingebunden, da es
        kein Ursprungsobjekt fuer diese Closure gibt.

        Bevor die Closure aufgerufen werden kann, muss sie an ein Objekt
        gebunden werden. Normale Objekte koennen Closures nur an sich selbst
        binden, das Binden an andere Objekte erzeugt eine Schutzverletzung.

        Der Punkt ist, dass previous_object() fuer Aufrufe innerhalb der
        Closure auf das Objekt zeigt, das bind_lambda() aufgerufen hat, und
        alle objekt- oder uid-basierten Sicherheitschecks beziehen sich
        auf jenes Objekt.

        Das erste Argument <*arg> ist ein Array, das die Argumente (Symbole)
        enthaelt, die an die Closure uebergeben werden, wenn diese mit
        funcall() oder apply() ausgewertet wird. Das zweite Argument <code>
        enthaelt den Code der Closure.

GESCHICHTE
        Eingefuehrt in 3.2@82.

SIEHE AUCH
        closures(LPC), lambda(E), apply(E), funcall(E), bind_lambda(E)
