Attention ! En Erlang fun n'est pas une fonction mais un état fonctionnel. C'est à dire un objet avec du code, des valeurs et à peu prêt tout ce qu'on veut dedans (y compris si on le souhaite des fonctions récursives).
Ton argumentation n'est pas bonne. Tu nous donnes des détails sur les choix de représentation par Erlang des fonctions locales (bien sûr, dans tous les langages les fonctions locales sont représentées par des fermetures, c'est à dire quelque chose avec du code, des valeurs issues de l'environnement, etc.).
Mais ça m'est égal, moi, la façon dont Erlang représente ses fonctions locales. Je peux déclarer des fonctions locales (anonymes), et j'aimerais définir des fonctions locales récursives, sans utiliser un combinateur de point fixe codé à la main qui tue les performances et limite la lisibilité.
Par ailleurs il est possible de définir la récursion sur certaines valeurs (par exemple en OCaml), et les "objets fonctionnels" semblent tout indiqués pour supporter cette fonctionnalité.
[^] # Re: Erlang
Posté par gasche . En réponse à la dépêche Apprendre un langage de programmation par an. Évalué à 3.
Ton argumentation n'est pas bonne. Tu nous donnes des détails sur les choix de représentation par Erlang des fonctions locales (bien sûr, dans tous les langages les fonctions locales sont représentées par des fermetures, c'est à dire quelque chose avec du code, des valeurs issues de l'environnement, etc.).
Mais ça m'est égal, moi, la façon dont Erlang représente ses fonctions locales. Je peux déclarer des fonctions locales (anonymes), et j'aimerais définir des fonctions locales récursives, sans utiliser un combinateur de point fixe codé à la main qui tue les performances et limite la lisibilité.
Par ailleurs il est possible de définir la récursion sur certaines valeurs (par exemple en OCaml), et les "objets fonctionnels" semblent tout indiqués pour supporter cette fonctionnalité.