Depende de en qué parte de su pregunta ponga énfasis. Si es específicamente la propiedad de ser anónimo para funciones anónimas, entonces la única respuesta es que son valores no vinculados . Si habla de funciones en general, las funciones anónimas son probablemente la manifestación más visible del uso del cálculo lambda en un entorno funcional, para lenguajes aplicativos .
De hecho, desde el punto de vista del cálculo lambda, las expresiones lambda son la construcción muy sintáctica utilizada para crear enlaces. Recordemos la notación utilizada en el cálculo lambda:
λ f. λ x . FX
FXFX
Un lenguaje generalmente ofrece formas, como let
(ML como lenguajes, esquema) o define
(esquema) para crear enlaces utilizables en el nivel superior (o dentro de construcciones sintácticas más complejas que las funciones, como módulos u objetos), pero la única herramienta necesaria para enlaces es la lambda en los niveles inferiores.
Si observa idiomas como esquemas o dialectos lisp, su fundamento fundamental es el cálculo lambda, y muchas formas especiales son realmente lambdas recubiertas de azúcar.
Para los lenguajes concatenativos , la historia es ligeramente diferente. Las lambdas no son necesarias, y en realidad son contraproducentes. ¿Cuál es el punto de definir lambdas anónimas, cuando todo es una función ?
De alguna manera hay una dualidad entre estos dos tipos de lenguaje. El último se centra en la combinación de funciones sin puntos y, por lo tanto, intenta representar todo como funciones, mientras que el primero trabaja en un cálculo más elaborado y hace un esfuerzo para tener funciones como valores de primera clase, como cualquier otro valor del lenguaje. A este respecto, uno podría ver lambdas como resultado de ese esfuerzo.
Algunos consejos sobre el tema introducido (mal) en esta respuesta: