99 exercices Scheme, corrigés et commentés
En première année à l’ENSIAS, j’ai découvert l’élégance algorithmique possible avec Scheme, et je suis très vite devenu fan. Chaque fonction correcte était une sorte de poésie dont la grace ne finissait pas de m’étonner…
Heureusement, il existe une liste de 99 problèmes (en Prolog, par le docteur Werner Hett), adaptés depuis pour plusieurs autres langages de programmation. J’ai donc décidé de traduire (de l’anglais en français) et résoudre les 99 problèmes, en Scheme, afin de saisir l’essence du langage.
Je n’en ai résolu que … 30, avant que d’autres matières, beaucoup moins intéressantes (qui a parlé de Java?), ne prennent la place de Scheme dans mon emploi du temps. Vivement le jour où je pourrais revenir prendre une bouffée d’oxygène auprès de Scheme!
Vous allez avoir toute sortes d’illuminations en résolvant ces exercices. Mais par dessus tout, vous allez saisir tout le sens de “L’itération est humaine, la récursivité divine”. Agréable séjour derrière les parenthèses, et n’hésitez surtout pas à me laisser un mot.
Le fichier ninety-nine-scheme-problems.txt contient les problèmes (en commentaire), et les solutions. Vous pouvez donc l’ouvrir directement dans un interprétateur Scheme (comme Edwin, mais je vous recommande vivement DrScheme). Au besoin, renommez le fichier en ninety-nine-scheme-problems.scm ou ninety-nine-scheme-problems.ss.
Télécharger les 99 problèmes en scheme, avec 30 corrections (en français)
Update (12/04/2009): Les problèmes sont maintenant disponible en ligne sur github (avec coloration syntaxique)
Update (12/04/2009): J’ai converti les solutions en Common Lisp. La version Lisp est, elle aussi, disponible sur github.

J’aime te lire… Dommage que tu ne publies pas beaucoup !!!
salut
tu fais un blog sans nous le dire!
c’est tres interessant
[...] j’ai traduits en Scheme pour m’entrainer. J’en ai résolu une trentaine, et publié les corrections. [...]
Merci Khalid,
En fait, il n’y a rien de consistant pour le moment. Raison pour laquelle il n’y pas beaucoup de « pub ». Mais ça va bientôt changer, avec la fin des cours.
Au plaisir