L'approche qualité


avec Objective-Caml


Par Damien Guichard




Dans ce tutoriel nous allons aborder les concepts du paradigme fonctionnel et les situer dans le cadre plus large d'une démarche méthodologique qui vise à atteindre la qualité totale au plus tôt. Dans son but cette démarche s'oppose à la tendance naturelle qui repousse les difficultés au plus tard, au mieux lors du débogage, au pire lors du test qualité, ou pire encore, lors de l'utilisation. Nous illustrons par de nombreux exemples comment le paradigme fonctionnel et l'approche qualité coopèrent à améliorer la confiance du programmeur.


Pour accéder à la documentation officielle du langage Objective-Caml cliquez sur le chameau ci-dessus.
Pour toute interrogation suscitée par L'approche qualité avec Objective-Caml veuillez exposer ce qui vous fait obstacle dans le fil de discussion réservé à cet effet.


Partie I: Présentation

  1. L'approche qualité
  2. Programmation et composants
  3. Programmation et langage
  4. Installation d'Objective Caml

Partie II: La programmation fonctionnelle

  1. Expressions immédiates
  2. Fonctions et application
  3. Déclarations de variables
  4. Déclarations et récursion
  5. Déclarations de fonctions
  6. Récursion et accumulation
  7. Déclarations locales
  8. Fonctions et assertions
  9. Les types énumérés
  10. Le filtrage
  11. Les listes
  12. Les fonctions sur les listes
  13. Le polymorphisme paramétrique
  14. Les couples
  15. Les huit reines
  16. Le tri fusion
  17. Les modules
  18. Le traitement des erreurs
  19. Les enregistrements
  20. Les performances

Partie III: Application à la gestion d'inventaires

  1. Domaine des inventaires
  2. Opérations élémentaires sur les inventaires
  3. Opérations avancées sur les inventaires
  4. Cas d'usage du module Inventory

Partie IV: Application à la théorie des jeux

  1. Le jeu des tétrominos
  2. Le tableau de jeu
  3. La génération des coups
  4. Le calcul de la valeur d'un tableau

Partie V: La programmation impérative

  1. Les champs mutables
  2. Les références
  3. Les boucles
  4. Les tableaux
  5. Les entrées-sorties
  6. Les exceptions

Partie VI: Application aux grands nombres

  1. Domaine des entiers naturels
  2. Opérations sur les tableaux
  3. L'addition
  4. La comparaison
  5. La soustraction
  6. La multiplication longue
  7. La multiplication Knuth-Karatsuba
  8. La division Burnikel-Ziegler
  9. Calcul de &pi au goutte-à-goutte

Partie VII: Application à l'analyse syntaxique

  1. Techniques d'analyse syntaxique
  2. Les requêtes syntaxiques
  3. Un analyseur pour pascal
  4. Les erreurs de syntaxe
  5. Implémentation de Lex.lex_parser

Partie VIII. Les types algébriques

  1. Ordre lexicographique
  2. Les types produit
  3. Les types somme
  4. Les types inductifs
  5. Le typage des fonctions partielles
  6. Les catamorphismes
  7. Les paramorphismes

Partie IX. Application aux tableaux extensibles

  1. Les arbres de Braun
  2. L'interface
  3. L'implémentation
  4. La performance et la persistance
  5. Les itérateurs

Partie X: Application à la génération de code machine

  1. Les familles de processeurs
  2. Architecture processeur et performance
  3. Le langage machine
  4. Le langage source
  5. Quelques compléments sur le langage OCaml
  6. La traduction en code machine
  7. Le traducteur en action

Remerciements

  • à millie et à gorgonite pour leur soutien
  • à InOCamlWeTrust pour ses suggestions
  • à Florent Aspic et jacques_jean pour leur promptitude et leur attention dans la correction orthographique
  • enfin, remerciement spécial à Nicolas Le Griel pour sa lecture méticuleuse et ses remarques appréciables




Valid XHTML 1.1! Valid CSS!
Copyright © 2007 Damien Guichard. Permission is granted to copy and distribute under the terms of the Creative Commons licence, Version 3.0 or any later version published by the Creative Commons Corporation; with Attribution, No Commercial Use and No Derivs. Read the full license here : http://creativecommons.org/licenses/by-nc-nd/3.0/legalcode
Vos questions techniques : forum d'entraide Algorithmique - Publiez vos articles, tutoriels et cours
et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones
Nous contacter - Hébergement - Participez - Copyright © 2000-2009 www.developpez.com - Legal informations.