CL-USER> (defun greater-than-p (n) (lambda (x) (> x n)))
GREATER-THAN-P
CL-USER> (greater-than-p 42)
#<COMPILED-LEXICAL-CLOSURE (:INTERNAL GREATER-THAN-P) #x3028028367FF>
CL-USER> (mapcar * '(41 42 43))
(NIL NIL T)

CL-USER> (format t "~:{~&~7D ~A~&~}"
             (sort (mapcar (lambda (system)
                             (list (ql-dist:archive-size
                                     (ql-dist:release system))
                                   (ql-dist:name system)))
                           (ql:system-apropos-list "xml"))
                   #'< :key #'car))

   5173 cl-junit-xml
   5173 cl-junit-xml.lisp-unit
   5173 cl-junit-xml.lisp-unit2
   5173 cl-junit-xml.test
   6422 xml-emitter
   6631 xmls-tools
  10188 pithy-xml
  10705 cl-xmlspam
  11422 cxml-rpc
  13832 zaws-xml
  15206 cl-sxml
  15206 cl-sxml-test
  15391 xml-mop
  21248 s-xml
  21248 s-xml.examples
  21248 s-xml.test
  23255 s-xml-rpc
  24185 cl-rdfxml
  27508 sexml
  27508 sexml-objects
  32536 xml.location
  32536 xml.location-and-local-time
  52069 cxml-stp
  52069 cxml-stp-test
  54697 hu.dwim.util/flexml
  55579 cl-libxml2
  55579 cl-libxml2-test
  55579 xfactory
  55579 xfactory-test
  55579 xoverlay
  72148 hu.dwim.quasi-quote.xml
  72148 hu.dwim.quasi-quote.xml+cxml
  72148 hu.dwim.quasi-quote.xml+hu.dwim.quasi-quote.js
  80680 xmls
  80680 xmls/test
 114587 cxml-rng
 126074 qtxml
 126074 qtxmlpatterns
 154772 cxml
 154772 cxml-dom
 154772 cxml-klacks
 154772 cxml-test
 154772 cxml-xml
 182696 hu.dwim.perec+hu.dwim.quasi-quote.xml
 190543 cl-html5-parser-cxml
 335410 xml-render
 626284 bknr.xml
NIL
CL-USER>
(defun ql-apropos (key)
  "Like `ql:system-apropos' with more detail."
  ;; TO DO: Nicely print rigidly indented multiline strings?
  (let* ((systems (ql:system-apropos-list key))
         (archives-relative-path "dists/quicklisp/software/")
         (archives-dir (merge-pathnames archives-relative-path
                                        ql:*quicklisp-home*)))
    (dolist (system systems)
      (let* ((release (ql-dist:release system))
             (name (ql-dist:name system))
             (size (ql-dist:archive-size release))
             (required (ql-dist:required-systems system))
             (files (ql-dist:system-files release)))
        (format t "~&~A    ~D    ~:A~%"
                name size required)
        (dolist (file files)
          (let* ((prefix (ql-dist:prefix release))
                 (dir (cl-fad:pathname-as-directory
                       (merge-pathnames archives-dir prefix)))
                 (path (merge-pathnames file dir))
                 (info (ignore-errors
                         (with-open-file (asd path)
                             (loop for form = (read asd nil)
                                while form
                                when (eq 'defsystem (car form))
                                return (getf form ':description))))))
            (let* ((head (format nil "    ~A    "
                                 (pathname-name path)))
                   (new-line-indent (format nil "~%~v@T"
                                            (length head))))
              (princ head)
              (loop for c across (or info "")
                 do (princ (if (char= #\NewLine c) new-line-indent c)))
              (terpri))))))))

QL-APROPOS
CL-USER> (ql-apropos "xml")
bknr.xml 626284 (cl-interpol cxml)
    bknr.data.impex    baikonour - launchpad for lisp satellites
    bknr.datastore    baikonour - launchpad for lisp satellites
    bknr.impex    BKNR XML import/export
    bknr.indices    CLOS class indices
    bknr.skip-list    Skiplist implementation for bknr
    bknr.utils    baikonour - launchpad for lisp satellites
    bknr.xml    baikonour - launchpad for lisp satellites
cl-html5-parser-cxml    190543    (cl-html5-parser cxml)
    cl-html5-parser    A HTML5 parser for Common Lisp
cl-junit-xml    5173    (alexandria cxml iterate)
    cl-junit-xml    
    cl-junit-xml.lisp-unit    
    cl-junit-xml.lisp-unit2    
cl-junit-xml.lisp-unit    5173    (alexandria cl-junit-xml cl-ppcre iterate lisp-unit)
    cl-junit-xml    
    cl-junit-xml.lisp-unit    
    cl-junit-xml.lisp-unit2    
cl-junit-xml.lisp-unit2    5173    (alexandria cl-junit-xml cl-ppcre iterate lisp-unit2)
    cl-junit-xml    
    cl-junit-xml.lisp-unit    
    cl-junit-xml.lisp-unit2    
cl-junit-xml.test    5173    (cl-junit-xml lisp-unit2)
    cl-junit-xml    
    cl-junit-xml.lisp-unit    
    cl-junit-xml.lisp-unit2    
cl-libxml2    55579    (alexandria cffi flexi-streams garbage-pools iterate metabang-bind puri)
    cl-libxml2    
    xfactory    
    xoverlay    
cl-libxml2-test    55579    (cl-libxml2 lift)
    cl-libxml2    
    xfactory    
    xoverlay    
cl-rdfxml    24185    (cxml puri)
    cl-rdfxml    
cl-sxml    15206    (cxml)
    cl-sxml    
cl-sxml-test    15206    (asdf cl-sxml fiveam flexi-streams uiop)
    cl-sxml    
cl-xmlspam    10705    (cl-ppcre cxml)
    cl-xmlspam    Streaming pattern matching for XML
cxml    154772    (cxml-dom cxml-klacks cxml-test)
    cxml    
cxml-dom    154772    (cxml-xml)
    cxml    
cxml-klacks    154772    (cxml-xml)
    cxml    
cxml-rng    114587    (cl-base64 cl-ppcre cxml parse-number yacc)
    cxml-rng    
cxml-rpc    11422    (cl-base64 cxml drakma hunchentoot parse-number)
    cxml-rpc    An XML-RPC interface for Common Lisp
cxml-stp    52069    (alexandria cxml xpath)
    cxml-stp    
cxml-stp-test    52069    (cxml-stp rt)
    cxml-stp    
cxml-test    154772    (cxml-dom cxml-klacks cxml-xml)
    cxml    
cxml-xml    154772    (closure-common puri trivial-gray-streams)
    cxml    
hu.dwim.perec+hu.dwim.quasi-quote.xml    182696    (hu.dwim.asdf hu.dwim.perec hu.dwim.quasi-quote.xml)
    hu.dwim.perec+hu.dwim.quasi-quote.xml    
    hu.dwim.perec+iolib    
    hu.dwim.perec+swank    
    hu.dwim.perec.all    All backends for hu.dwim.perec.
    hu.dwim.perec.all.test    Test suite for all backends of hu.dwim.perec.
    hu.dwim.perec    RDBMS based persistent CLOS, an object relational mapping (ORM).
    hu.dwim.perec.documentation    
    hu.dwim.perec.oracle    Oracle backend for hu.dwim.perec.
    hu.dwim.perec.oracle.test    Test suite for hu.dwim.perec with Oracle backend.
    hu.dwim.perec.postgresql    Postgresql backend for hu.dwim.perec.
    hu.dwim.perec.postgresql.test    Test suite for hu.dwim.perec with Postgresql backend.
    hu.dwim.perec.sqlite    Sqlite backend for hu.dwim.perec.
    hu.dwim.perec.sqlite.test    Test suite for hu.dwim.perec with Sqlite backend.
    hu.dwim.perec.test    Test suite for hu.dwim.perec
hu.dwim.quasi-quote.xml    72148    (hu.dwim.asdf hu.dwim.quasi-quote)
    hu.dwim.quasi-quote    Quasi quoted domain specific languages and transformations.
    hu.dwim.quasi-quote.css    Quasi quote transformations for emitting CSS.
    hu.dwim.quasi-quote.documentation    
    hu.dwim.quasi-quote.js    Quasi quote transformations for emitting JavaScript.
    hu.dwim.quasi-quote.pdf    Quasi quote transformations for emitting PDF.
    hu.dwim.quasi-quote.test    
    hu.dwim.quasi-quote.xml+cxml    
    hu.dwim.quasi-quote.xml+hu.dwim.quasi-quote.js    
    hu.dwim.quasi-quote.xml    Quasi quote transformations for emitting XML.
hu.dwim.quasi-quote.xml+cxml    72148    (cxml hu.dwim.asdf hu.dwim.quasi-quote.xml)
    hu.dwim.quasi-quote    Quasi quoted domain specific languages and transformations.
    hu.dwim.quasi-quote.css    Quasi quote transformations for emitting CSS.
    hu.dwim.quasi-quote.documentation    
    hu.dwim.quasi-quote.js    Quasi quote transformations for emitting JavaScript.
    hu.dwim.quasi-quote.pdf    Quasi quote transformations for emitting PDF.
    hu.dwim.quasi-quote.test    
    hu.dwim.quasi-quote.xml+cxml    
    hu.dwim.quasi-quote.xml+hu.dwim.quasi-quote.js    
    hu.dwim.quasi-quote.xml    Quasi quote transformations for emitting XML.
hu.dwim.quasi-quote.xml+hu.dwim.quasi-quote.js    72148    (hu.dwim.asdf hu.dwim.quasi-quote.js hu.dwim.quasi-quote.xml)
    hu.dwim.quasi-quote    Quasi quoted domain specific languages and transformations.
    hu.dwim.quasi-quote.css    Quasi quote transformations for emitting CSS.
    hu.dwim.quasi-quote.documentation    
    hu.dwim.quasi-quote.js    Quasi quote transformations for emitting JavaScript.
    hu.dwim.quasi-quote.pdf    Quasi quote transformations for emitting PDF.
    hu.dwim.quasi-quote.test    
    hu.dwim.quasi-quote.xml+cxml    
    hu.dwim.quasi-quote.xml+hu.dwim.quasi-quote.js    
    hu.dwim.quasi-quote.xml    Quasi quote transformations for emitting XML.
hu.dwim.util/flexml    54697    (cl-ppcre cxml hu.dwim.asdf hu.dwim.def hu.dwim.def.namespace hu.dwim.defclass-star+hu.dwim.def hu.dwim.util)
    hu.dwim.util+iolib    Integration of hu.dwim.util with iolib.
    hu.dwim.util    Various utilities, this is the most basic system that only introduce a small number of external dependencies.
    hu.dwim.util.documentation    
    hu.dwim.util.test    
pithy-xml    10188    ()
    pithy-xml    
qtxml    126074    (qtcore qtools)
    qtools-evaluator    
    qtools-game    
    qtools-helloworld    
    qtools-melody    
    qtools-opengl    
    qtools-titter    
    q+    
    qtools    
    phonon    
    qimageblitz    
    qsci    
    qt3support    
    qtcore    
    qtdbus    
    qtdeclarative    
    qtgui    
    qthelp    
    qtnetwork    
    qtopengl    
    qtscript    
    qtsql    
    qtsvg    
    qttest    
    qtuitools    
    qtwebkit    
    qtxml    
    qtxmlpatterns    
qtxmlpatterns    126074    (qtcore qtnetwork qtools qtxml)
    qtools-evaluator    
    qtools-game    
    qtools-helloworld    
    qtools-melody    
    qtools-opengl    
    qtools-titter    
    q+    
    qtools    
    phonon    
    qimageblitz    
    qsci    
    qt3support    
    qtcore    
    qtdbus    
    qtdeclarative    
    qtgui    
    qthelp    
    qtnetwork    
    qtopengl    
    qtscript    
    qtsql    
    qtsvg    
    qttest    
    qtuitools    
    qtwebkit    
    qtxml    
    qtxmlpatterns    
s-xml    21248    ()
    s-xml    Simple Common Lisp XML Parser
s-xml-rpc    23255    (s-xml)
    s-xml-rpc    Common Lisp XML-RPC Package
s-xml.examples    21248    (s-xml)
    s-xml    Simple Common Lisp XML Parser
s-xml.test    21248    (s-xml)
    s-xml    Simple Common Lisp XML Parser
sexml    27508    (alexandria cl-ppcre contextl cxml macroexpand-dammit)
    sexml-objects    
    sexml    
sexml-objects    27508    (sexml)
    sexml-objects    
    sexml    
xfactory    55579    (cl-libxml2)
    cl-libxml2    
    xfactory    
    xoverlay    
xfactory-test    55579    (lift xfactory)
    cl-libxml2    
    xfactory    
    xoverlay    
xml-emitter    6422    (cl-utilities)
    xml-emitter    xml-emitter simply emits XML, with some
                   complexity for handling indentation. It can be used to produce all
                   sorts of useful XML output; it has an RSS 2.0 emitter built in.
xml-mop    15391    (closer-mop s-xml)
    xml-mop    xml-mop allows representing parts of XML documents as CLOS objects
xml-render    335410    (cl-typesetting xmls)
    cl-typesetting    Common Lisp Typesetting system
    xml-render    none
    cl-pdf-doc    Common Lisp PDF Generation Library Documentation
xml.location    32536    (alexandria closer-mop cxml-stp iterate let-plus more-conditions split-sequence xpath)
    xml.location-and-local-time    
    xml.location    
xml.location-and-local-time    32536    (local-time xml.location)
    xml.location-and-local-time    
    xml.location    
xmls    80680    ()
    xmls    
xmls-tools    6631    (xmls)
    xmls-tools    
xmls/test    80680    (xmls)
    xmls    
xoverlay    55579    (cl-libxml2)
    cl-libxml2    
    xfactory    
    xoverlay    
zaws-xml    13832    (cxml)
    zaws-xml    
    zaws    

NIL