Next: Formatação de código, Previous: Módulos, Up: Estilo de código [Contents][Index]
A tendência no Lisp clássico é usar listas para representar tudo e, em
seguida, pesquisá-las “à mão” usando car
, cdr
, cadr
e
co. Existem vários problemas com esse estilo, notadamente o fato de que é
difícil de ler, propenso a erros e um obstáculo para os relatórios de erros
de tipos adequados.
Guix code should define appropriate data types (for instance, using
define-record-type*
) rather than abuse lists. In addition, it should
use pattern matching, via Guile’s (ice-9 match)
module, especially
when matching lists (see Pattern Matching in GNU Guile Reference
Manual); pattern matching for records is better done using
match-record
from (guix records)
, which, unlike match
,
verifies field names at macro-expansion time.