I feel I'm playing the lottery every time I'm using Quicklisp. I cannot find a web page with package lists and documentation.
As a concrete example I searched (ql:system-apropos "random-access-list")
since I found an implementation of SRFI-101, which is based on Okasakis purely functional data structures, in CL. I tried this:
[1]> (ql:system-apropos-list "random-access-lists")
(#<QL-DIST:SYSTEM random-access-lists / random-access-lists-20120208-git / quicklisp 2016-03-18>)
[2]>
I know that the name random-access-lists
are not very specific so there might be other packages with that name. Last time I was less lucky and found 4 partial matches and the one that was best match was not the package I was looking for.
How do I find more about the search results?
A somewhat hacky solution would be to download the system and use ASDF:SYSTEM-DESCRIPTION
to see a description for it. Something like
(defun describe-ql-system (system)
(let ((system (asdf:find-system
(ql-dist:name
(ql-dist:ensure-installed
(ql-dist:find-system system))))))
(format t "~a~%~@[~a~%~]"
(asdf:system-description system)
(asdf:system-long-description system))))
(describe-ql-system :random-access-lists)
; Persistent, random-access lists.
A slightly more polished version:
(defun describe-ql-system (system)
(let ((system (if (typep system 'ql-dist:system)
system
(ql-dist:find-system system))))
(unless (null system)
(ql-dist:ensure-installed system)
(handler-case
(let* ((name (ql-dist:name system))
(system (asdf:find-system name)))
(format t "~&~60,,,'=<~; ~a ~;~>~@
~@[Author: ~a~%~]~
~@[Maintainer: ~a~%~]~
~@[Description: ~a~%~]~
~@[Long description:~@
~a~%~]~%"
name
(asdf:system-author system)
(asdf:system-maintainer system)
(asdf:system-description system)
(asdf:system-long-description system)))
(asdf:missing-component ())))))
Maybe quickdocs can help here. Note, that it is not maintained by Zach Beane but by Eitaro Fukamachi, so I am not sure, how up to date this documentation is.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With