diff --git a/doc/efun/apply b/doc/efun/apply
new file mode 100644
index 0000000..aaa30a5
--- /dev/null
+++ b/doc/efun/apply
@@ -0,0 +1,35 @@
+SYNOPSIS
+        mixed apply(closure cl, mixed arg, ...);
+
+BESCHREIBUNG
+        Wertet die Closure <cl> aus. Wenn <cl> keine Closure ist, wird <cl>
+        unveraendert zurueck geliefert und alle Argumente <arg> werden
+        ignoriert.
+
+        Es gibt einen kleinen Unterschied zu funcall(), das ja im Wesentlichen
+        das gleiche tut (naemlich, eine Closure auswerten): wenn das letzte
+        Argument von apply() ein Array ist, wird jedes Element dieses Arrays
+        zu einem separaten zusaetzlichen Parameter der Closure umgewandelt.
+
+        Eine moegliche Anwendung waere:
+            mixed eval(object ob,string func,mixed *args)
+            {
+                return apply(#'call_other,ob,func,args);
+            }
+
+        Das fuehrt zu folgenden Aufrufen:
+            ob->func(args[0],args[1],...,args[sizeof(args)-1])
+
+        Waere stattdessen funcall() aufgerufen worden, so haette das ergeben:
+            ob->func(args)
+
+        Eine wichtige Anwendung von apply() ist das Auswerten des
+        Array-Arguments in "varargs" Funktionen.
+
+AENDERUNGEN
+        Eingefuehrt in 3.2@70.
+        LDMud 3.2.8 fuehrte ein, dass das erste Argument zurueck gegeben wird,
+            wenn es sich nicht um eine Closure handelt.
+
+SIEHE AUCH
+        funcall(E), closures(LPC), varargs(LPC)
