> Also, I think it should process fields, and return an alist, or even > better, a ‘gnu-package-descriptor’ record (say). > > (define-record-type > gnu-package-descriptor? > (gnu-package-descriptor name logo-url doc-category ...) > ... > ) > > (official-gnu-packages) > => (# ...) > > WDYT? Oh, I forgot about this when I was writing the attached patch. Is it fine? Should I rewrite it using records? I guess that it will work faster if I use 'cons' in 'loop' instead of 'append'. Is it worth it? Examples: scheme@(guile-user)> ,use (guix gnu-maintenance) scheme@(guile-user)> (find-packages "guix") $1 = (("package: guix" "logo: /software/guix/graphics/guix-logo.small.png" "doc-category: Sysadmin" "doc-summary: Managing installed software packages and versions" "doc-url: none" "gplv3-status: should-be-ok" "activity-status: newpkg/20121117")) This one: (find-packages "guile") should return several packages.