Next: , Previous: , Up: Estilo de código   [Contents][Index]


22.5.3 Tipos de dados e correspondência de padrão

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.