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).