Charity

Cet article est une ébauche concernant l’informatique.

Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les recommandations des projets correspondants.

Charity
Date de première version Voir et modifier les données sur Wikidata
Site web pll.cpsc.ucalgary.ca/charity1/www/home.htmlVoir et modifier les données sur Wikidata
modifier Consultez la documentation du modèle

Charity est un langage de programmation expérimental purement fonctionnel, développé à l'Université de Calgary. Il ressort des idées de Hagino Tatsuya, et il est complètement fondé sur la théorie des catégories.

Nonobstant les interactions entrées-sorties, tous les programmes programmés en Charity sont garantis de terminer. Cela signifie que ce langage n'est pas Turing-complet. Cependant, il est capable d'exprimer la fonction d'Ackermann et la rend plus expressive qu'une récursion primitive.

Le langage autorise les types récursifs ordinaires, tels qu'ils se trouvent en ML, et qui doivent être finis, et également les types de données corécursifs, qui sont autorisés d'être potentiellement infinis. La structure de contrôle pour les opérations sur les types récursifs est une récursion primitive ou catamorphisme, et celle pour les types de données corécursifs est une co-récursion primitive ou anamorphisme. Les structures de contrôle ne peuvent pas sinon opérer sur d'autres types de données. Tous les catamorphismes terminent et tous les anamorphismes sont productifs.

Notes et références

  • (en) Cet article est partiellement ou en totalité issu de l’article de Wikipédia en anglais intitulé « Charity (programming language) » (voir la liste des auteurs).

Annexes

Articles connexes

  • Langage de programmation

Liens externes

  • Page officielle, avec documentation et téléchargement
  • icône décorative Portail de la programmation informatique