9 votes

Comment Haskell se débarrasse-t-il du "boilerplate" ?

J'essaie de comprendre cet article :

http://www.haskell.org/haskellwiki/Scrap_your_boilerplate

Même si je sais ce qu'est fmap et ce qu'est un foncteur (grâce à "Apprenez un haskell pour un grand bien" ), je n'arrive pas à comprendre cet article. Quelqu'un peut-il m'expliquer en termes simples comment Haskell se débarrasse du boilerplate ?

5voto

sinelaw Points 6641

Si vous êtes novice en haskell, vous ne devriez probablement pas vous préoccuper du SYB. Ce n'est pas quelque chose de fondamental ni même d'utilisé couramment (je ne l'ai jamais utilisé moi-même).

SYB est un paquetage de bibliothèques pour Haskell, qui ne fait pas partie de Haskell lui-même, ni même d'une des bibliothèques de base. Voir ici : http://www.cs.uu.nl/wiki/GenericProgramming/SYB

Vous pouvez lire (le dernier document dans) http://research.microsoft.com/en-us/um/people/simonpj/papers/hmap/

4voto

Amber Points 159296

http://foswiki.cs.uu.nl/foswiki/GenericProgramming/SYB peut être une meilleure ressource pour lire sur SYB (quelques liens sont cassés parce que certaines choses sur haskell.org ont changé d'url, mais les autres fonctionnent).

Pour répondre de manière générale à votre question, voici un extrait de la page d'accueil :

Programmation générique par type de données

La programmation générique des types de données consiste à définir des fonctions sur la structure des types de données, plutôt que sur un type de données lui-même. De cette manière, on peut définir des fonctions qui fonctionnent pour de nombreux types de données différents.

Dans SYB, la structure des types de données n'est pas directement exposée au programmeur. Au lieu de cela, des combinateurs génériques sont utilisés pour définir les fonctions génériques. Ces combinateurs sont mis en œuvre à l'aide de fonctions fondamentales des classes Data et Typeable.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X