Next: Formato del código, Previous: Módulos, Up: Estilo de codificación [Contents][Index]
La tendencia en el Lisp clásico es usar listas para representar todo, y
recorrerlas “a mano” usando car
, cdr
, cadr
y
compañía. Hay varios problemas con este estilo, notablemente el hecho de que
es difícil de leer, propenso a errores y una carga para informes adecuados
de errores de tipado.
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.