Je suis en train de profiter de la transition à partir d'un langage orienté objet à un langage fonctionnel. C'est une bouffée d'air frais, et je suis la recherche de moi-même beaucoup plus productif qu'avant.
Cependant il y a un aspect de la programmation orientée objet que je n'ai pas encore vu une réponse satisfaisante pour le FP, et c'est le polymorphisme. c'est à dire j'ai une grande collection d'éléments de données, qui doivent être traitées de manières très différentes lorsqu'ils sont passés dans certaines fonctions. Pour la clarté de l'exposé, disons qu'il y a plusieurs facteurs qui conduisent à polymorphes comportement potentiellement exponentielle de nombreuses différences de comportement des combinaisons.
Dans la programmation orientée objet qui peut être manipulé relativement bien l'utilisation du polymorphisme: soit au travers de la composition+héritage ou d'un prototype de base de l'approche.
En FP je suis un peu coincé entre:
- L'écriture ou la composition pure de fonctions permettant de mettre en œuvre polymorphe de comportements par branchement sur la valeur de chaque élément de données - sent un peu comme à l'assemblage d'un énorme conditionnelle ou même en simulant une table de méthode virtuelle!
- Mettre des fonctions à l'intérieur de la pure structures de données dans un prototype de la mode - ce qui semble comme il fonctionne, mais n'est-ce pas aussi contrevenir à l'idée de définir des fonctions pures séparément à partir de données?
Ce sont recommandées pour les approches fonctionnelles pour ce genre de situation? Il y a des bonnes alternatives?