Tu nous donnes des détails sur les choix de représentation par Erlang des fonctions locales
J'insiste vraiment sur le fait que ce n'est pas une fonction locale. C'est un état. Tu peux utiliser cet état ou tu veux dans ton code, le passer en paramètres d'une autre fonction d'un autre module etc. Au niveau de la représentation c'est très similaire, mais au niveau de la logique ça n'a rien à voir. Généralement ca n'est utilisé que lorsqu'on a besoin de gérer des pools ou de faire gaffe à des problèmes de concurrence. On a des fonctions qui pondent des fun et d'autres fonctions qui les exploitent à la chaîne.
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é.
Je ne sais pas quel est le problème que tu cherches à résoudre, mais je pense que tu te trompes sur la solution a utiliser en Erlang. A mon avis tu cherches à dupliquer la logique d'un autre langage en Erlang. Même si les vrais programmeurs peuvent coder en fortran dans n'importe quel langage, c'est quand même généralement déconseillé.
[^] # Re: Erlang
Posté par Jerome Herman . En réponse à la dépêche Apprendre un langage de programmation par an. Évalué à 3.
J'insiste vraiment sur le fait que ce n'est pas une fonction locale. C'est un état. Tu peux utiliser cet état ou tu veux dans ton code, le passer en paramètres d'une autre fonction d'un autre module etc. Au niveau de la représentation c'est très similaire, mais au niveau de la logique ça n'a rien à voir. Généralement ca n'est utilisé que lorsqu'on a besoin de gérer des pools ou de faire gaffe à des problèmes de concurrence. On a des fonctions qui pondent des fun et d'autres fonctions qui les exploitent à la chaîne.
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é.
Je ne sais pas quel est le problème que tu cherches à résoudre, mais je pense que tu te trompes sur la solution a utiliser en Erlang. A mon avis tu cherches à dupliquer la logique d'un autre langage en Erlang. Même si les vrais programmeurs peuvent coder en fortran dans n'importe quel langage, c'est quand même généralement déconseillé.