Suivant: Formatage du code, Précédent: Modules, Monter: Style de code [Table des matières][Index]
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.