Suivant: , Précédent: , Monter: Style de code   [Table des matières][Index]


22.5.3 Types de données et reconnaissance de motif

La tendance en Lisp classique est d’utiliser des listes pour tout représenter et de naviguer dedans « à la main ( avec car, cdr, cadr et compagnie. Il y a plusieurs problèmes avec ce style, notamment le fait qu’il soit dur à lire, source d’erreur et un obstacle aux rapports d’erreur bien typés.

Le code de Guix devrait définir des types de données appropriées (par exemple, avec define-record-type*) plutôt que d’abuser des listes. En plus, il devrait utiliser la recherche de motifs, via le module Guile (ice-9 match), surtout pour rechercher dans des listes (voir Pattern Matching dans GNU Guile Reference Manual) : la reconnaissance de motif pour les enregistrements se fait mieux avec match-record de (guix records), qui contrairement à match, vérifie le nom des champs à l’expansion des macros.