mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-24 13:28:12 -05:00
doc: Recommend 'match-record'.
* doc/contributing.texi (Data Types and Pattern Matching): Recommend 'match-record'.
This commit is contained in:
parent
754a7660a1
commit
883aa80b45
1 changed files with 6 additions and 1 deletions
|
@ -1089,11 +1089,16 @@ and then to browse them ``by hand'' using @code{car}, @code{cdr},
|
||||||
notably the fact that it is hard to read, error-prone, and a hindrance
|
notably the fact that it is hard to read, error-prone, and a hindrance
|
||||||
to proper type error reports.
|
to proper type error reports.
|
||||||
|
|
||||||
|
@findex define-record-type*
|
||||||
|
@findex match-record
|
||||||
|
@cindex pattern matching
|
||||||
Guix code should define appropriate data types (for instance, using
|
Guix code should define appropriate data types (for instance, using
|
||||||
@code{define-record-type*}) rather than abuse lists. In addition, it
|
@code{define-record-type*}) rather than abuse lists. In addition, it
|
||||||
should use pattern matching, via Guile’s @code{(ice-9 match)} module,
|
should use pattern matching, via Guile’s @code{(ice-9 match)} module,
|
||||||
especially when matching lists (@pxref{Pattern Matching,,, guile, GNU
|
especially when matching lists (@pxref{Pattern Matching,,, guile, GNU
|
||||||
Guile Reference Manual}).
|
Guile Reference Manual}); pattern matching for records is better done
|
||||||
|
using @code{match-record} from @code{(guix records)}, which, unlike
|
||||||
|
@code{match}, verifies field names at macro-expansion time.
|
||||||
|
|
||||||
@node Formatting Code
|
@node Formatting Code
|
||||||
@subsection Formatting Code
|
@subsection Formatting Code
|
||||||
|
|
Loading…
Reference in a new issue