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