Next: Formatting Code, Previous: Programming Paradigm, Up: Coding Style [Contents][Index]
The tendency in classical Lisp is to use lists to represent everything,
and then to browse them “by hand” using car
, cdr
,
cadr
, and co. There are several problems with that style,
notably the fact that it is hard to read, error-prone, and a hindrance
to proper type error reports.
Dezyne code should define appropriate data types (AST
or
GOOPS
classes, or using define-immutable-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).