J'ai récemment appris à connaître la programmation fonctionnelle (dans Haskell et Scala). C'est capacités et élégance est assez charmant. Mais quand j'ai rencontré Monades, qui utilise une structure algébrique appelée Monoid, j'ai été surpris et heureux de voir que les connaissances théoriques que j'ai apprises à partir des mathématiques sont utilisées dans la programmation. Cette observation m'a amené à me poser une question: Est-ce que les groupes, champs ou anneaux (voir Algebraic Structures pour d'autres) peuvent être utilisés dans la programmation pour plus d'abstraction et de réutilisation de code et pour la programmation mathématique? Comme je sais, le langage nommé Fortress (que je préférerais sûrement sur n'importe quelle langue une fois que son compilateur est terminé) définit ces structures dans son code de bibliothèque. Mais seules les utilisations que j'ai vues jusqu'ici étaient pour les types numériques, que nous connaissons déjà. Pourrait-il y avoir d'autres utilisations d'eux?Existe-t-il des structures algébriques utilisées dans la programmation fonctionnelle autre que monoid?
Meilleures salutations, ciun
Ce n'est pas exactement ce que vous cherchez, mais l'article * The Typeclassopedia * dans [le numéro 13 de The Monad.Reader] (http://www.haskell.org/wikiupload/8/85/TMR- Issue13.pdf) pourrait encore être intéressant: Il s'agit d'une explication détaillée de plusieurs classes de types ('Functor',' Applicative', 'Monoid',' Monad', 'Arrow', etc.) du Prélude Haskell. – stakx