Purement fonctionnelle des structures de données ont les avantages suivants:
La persistance: les anciennes versions peuvent être réutilisés en toute sécurité en sachant qu'ils ne peuvent pas avoir été modifié.
Partage: de nombreuses versions d'une structure de données peut être gardés simultanément avec très peu de mémoire.
Fil de sécurité: toute mutation est caché à l'intérieur du paresseux thunks (le cas échéant) et, par conséquent, gérées par le langage de mise en œuvre.
Simplicité: ne pas avoir à garder une trace des modifications de l'état de fait purement fonctionnelle des structures de données plus simple à utiliser, en particulier dans le contexte de la concurrence.
L'apport différentiel: purement fonctionnelle des structures de données est composée de nombreuses petites pièces, ce qui les rend idéal pour incrémentale à une diminution de la latence.
Notez que je n'ai pas répertorié parallélisme comme un avantage purement fonctionnelle des structures de données parce que je ne crois pas que cela soit le cas. Efficace multicœur parallélisme exige prévisible de la localité, afin de tirer parti des caches et éviter de devenir un goulot d'étranglement sur le partage de l'accès à la mémoire principale et purement fonctionnelle des structures de données ont, au mieux, de l'inconnu caractéristiques à cet égard. Par conséquent, de nombreux programmes qui utilisent purement fonctionnelle des structures de données ne sont pas à l'échelle lorsque parallélisé sur un multicœur, car ils consacrent tout leur temps dans le cache, la lutte pour la mémoire partagée des voies.
Ce que je veux dire par purement fonctionnelle de la structure de données n'est pas la même que persistante de la structure de données.
Il y a une confusion ici. Dans le contexte d'une approche purement fonctionnelle des structures de données, la persévérance est un terme utilisé pour se référer à la capacité de se référer à des versions précédentes de la structure des données en toute sécurité en sachant qu'ils sont toujours valides. C'est un résultat naturel de l'être purement fonctionnel et, par conséquent, la persévérance est une caractéristique inhérente à tous purement fonctionnelle des structures de données.