This is the quicksearch Reference Manual, version 0.1.3, generated automatically by Declt version 4.0 beta 2 "William Riker" on Tue Jul 15 06:21:51 2025 GMT+0.
The main system appears first, followed by any subsystem dependency.
quicksearchQuicksearch searches CL library, and outputs results at REPL.
Takaya OCHIAI <tkych.repl@gmail.com>
MIT License
0.1.3
iterate (system).
anaphora (system).
alexandria (system).
cl-ppcre (system).
drakma (system).
yason (system).
flexi-streams (system).
do-urlencode (system).
html-entities (system).
bordeaux-threads (system).
quicksearch.lisp (file).
Files are sorted by type and then listed depth-first from the systems components trees.
quicksearch/quicksearch.lispquicksearch (system).
*user-agent* (special variable).
? (function).
config (function).
quicksearch (function).
*cache-size* (special variable).
*cut-off* (special variable).
*description-indent-num* (special variable).
*description-print?* (special variable).
*installed-prefix* (special variable).
*max-num-description-columns* (special variable).
*max-num-web-search-results* (special variable).
*num-results-per-page* (special variable).
*print-search-results?* (special variable).
*quicklisp-verbose?* (special variable).
*quicksearch-version* (special variable).
*quicksearch-webpage* (special variable).
*threading?* (special variable).
*url-print?* (special variable).
clear-cache (function).
extract-bitbucket-next-page-url (function).
extract-bitbucket-repos (function).
extract-cliki-next-page-url (function).
extract-cliki-repos (function).
extract-github-next-page-url (function).
extract-github-repos (function).
extract-next-page-url (function).
extract-repos (function).
fetch (function).
gen-query (function).
gen-url (function).
get-quickdocs-url (function).
get-title (function).
get-url (function).
in-cache-p (function).
installed-p (function).
make-cache (function).
map-reduce (function).
max-num-next-pages (function).
once-only-print-search-results (function).
pprint-description (function).
print-line (function).
print-results (function).
print-search-results (function).
print-space (function).
remove-tags (function).
response-string (function).
search-cache (function).
search-quicklisp (function).
search-web (function).
search-web-by-thread (function).
set-version (function).
store-cache (function).
str (function).
strip (function).
Packages are listed by definition order.
quicksearchqs
common-lisp.
iterate.
*user-agent* (special variable).
? (function).
config (function).
quicksearch (function).
*cache-size* (special variable).
*cut-off* (special variable).
*description-indent-num* (special variable).
*description-print?* (special variable).
*installed-prefix* (special variable).
*max-num-description-columns* (special variable).
*max-num-web-search-results* (special variable).
*num-results-per-page* (special variable).
*print-search-results?* (special variable).
*quicklisp-verbose?* (special variable).
*quicksearch-version* (special variable).
*quicksearch-webpage* (special variable).
*threading?* (special variable).
*url-print?* (special variable).
clear-cache (function).
extract-bitbucket-next-page-url (function).
extract-bitbucket-repos (function).
extract-cliki-next-page-url (function).
extract-cliki-repos (function).
extract-github-next-page-url (function).
extract-github-repos (function).
extract-next-page-url (function).
extract-repos (function).
fetch (function).
gen-query (function).
gen-url (function).
get-quickdocs-url (function).
get-title (function).
get-url (function).
in-cache-p (function).
installed-p (function).
make-cache (function).
map-reduce (function).
max-num-next-pages (function).
once-only-print-search-results (function).
pprint-description (function).
print-line (function).
print-results (function).
print-search-results (function).
print-space (function).
remove-tags (function).
response-string (function).
search-cache (function).
search-quicklisp (function).
search-web (function).
search-web-by-thread (function).
set-version (function).
store-cache (function).
str (function).
strip (function).
Definitions are sorted by export status, category, package, and then by lexicographic order.
This value tells the server who is requested (i.e. User-Agent header value). If you are embedding Quicksearch in a larger application, you should change the value of *USER-AGENT* to your application name and URL.
? is abbreviation wrapper for function QUICKSEARCH.
‘search-word’ must be a string, number or symbol. ‘options’ must be a
non-negative integer (as Cut-Off) and/or some keywords which consists of
some Option-Chars.
Options:
* Cut-Off:
* The max number of printing results (default is 50).
* Option-Chars:
* d, D – output Description
* u, U – output URL
* q, Q – search in Quicklisp
* c, C – search in Cliki
* g, G – search in GitHub
* b, B – search in Bitbucket
Note:
* Option-Char is idempotent (e.g. :dd <=> :d).
* If ‘options’ contains more than 2 Cut-Offs, only last one is applyed.
* The order of Option-Chars is nothing to do with output
(e.g. :du <=> :ud).
* The order of ‘options’ is nothing to do with output
(except for some Cut-Offs).
* If no search-space is specified, all spaces are specified
(e.g. :d <=> :dqcgb).
* If at most one search-space is specified, then others are not
specified.
Examples:
(? "crypt")
<=>
(quicksearch "crypt" :?description nil :?url nil :?cut-off 50
:?quicklisp t :?cliki t :?github t :?bitbucket t)
(? "crypt" :du 10)
<=>
(quicksearch "crypt" :?description T :?url T :?cut-off 10
:?quicklisp t :?cliki t :?github t :?bitbucket t)
(? "crypt" 20 :g :d)
<=>
(quicksearch "crypt" :?description T :?url nil :?cut-off 20
:?quicklisp nil :?cliki nil :?github T :?bitbucket nil)
Function CONFIG customizes printing, fetching or caching.
If CONFIG is called with no keyword, then it sets default values.
Keywords:
* ‘:maximum-columns-of-description’ (default 80)
The value must be a plus integer bigger than 5.
If the length of description-string is bigger than this value,
then output of description is inserted newline for easy to see.
* ‘:maximum-number-of-fetching-repositories’ (default 50)
This value controls the number of fetching repositories.
The value must be a plus integer.
Increasing this value, the number of fetching repositories increases,
but also space & time does.
* ‘:cache-size’
The value must be a plus integer (default 4).
This value is the number of stored previous search-results.
Increasing this value, the number of caching results increases, but
also space does.
* ‘:clear-cache?’
The value must be a boolean (default NIL).
If value is T, then clear all caches.
* ‘:threading?’
The value must be a boolean (default T).
If value is NIL, then QUICKSEARCH becomes not to use threads for
searching.
Note:
Currently on SBCL (1.1.8), threads are part of the default build on
x86[-64] Linux only. Other platforms (x86[-64] Darwin (Mac OS X),
x86[-64] FreeBSD, x86 SunOS (Solaris), and PPC Linux)
experimentally supports threads and must be explicitly enabled at
build-time. For more details, please see [SBCL manual](http://www.sbcl.org/manual/index.html#Threading).
* ‘:quicklisp-verbose?’
The value must be a boolean (default NIL).
If value is T, then outputs version of quicklisp and whether library
had installed your local.
Example:
CL-REPL> (qs:config :QUICKLISP-VERBOSE? t)
CL-REPL> (qs:? "json" :q)
SEARCH-RESULTS: "json"
Quicklisp: 2013-04-20 ;<- quicklisp version
!cl-json ;<- if library has been installed via quicklisp, print prefix "!".
!cl-json.test
com.gigamonkeys.json ;<- if not, none.
json-template
st-json
T
Note:
* If you would prefer permanent configuration,
for example, add codes something like the following in the CL init
file.
In ‘.sbclrc‘ for SBCL, ‘ccl-init.lisp‘ for CCL:
(ql:quickload :quicksearch)
(qs:config :maximum-columns-of-description 50
:maximum-number-of-fetching-repositories 20
:cache-size 10
:threading? nil
:quicklisp-verbose? t)
Search for CL projects with ‘search-word’ in Quicklisp, Cliki, GitHub
and BitBucket. ‘search-word’ must be a string, number or symbol (symbol
will be automatically converted into downcase-string).
Keywords:
* If ‘?web’ is NIL, it does not search in Cliki, GitHub and BitBucket.
* If ‘?quicklisp’ is NIL, it does not search in Quicklisp (also
‘?cliki’, ‘?github’, ‘?bitbucket’).
* At least one search-space must be specified.
* If ‘?description’ is T, it displays project’s descriptions (except
for Quicklisp-search).
* If ‘?url’ is T, it display project’s url.
* ‘?cut-off’ is the max number of printing repositories each space.
Note:
* keyword ‘?cut-off’ controls only printing results, nothing to do with
the maximum number of fetching repositories (see. function CONFIG
documentation).
* About #\Space in ‘search-word’:
In case ‘search-word’ contains #\Space, Quicklisp-search is
OR-search, whereas Cliki-search, GitHub-, BitBucket- is AND-search.
e.g. (quicksearch "foo bar")
Quicklisp-search for "foo" OR "bar",
Cliki-search, GitHub-, BitBucket- for "foo" AND "bar".
MAP-REDUCE is suitable for only the case that ‘mapper”s cost is much
expensive (e.g. QUICKSEARCH invokes DRAKMA:HTTP-REQUEST as ‘mapper’).
For each element in ‘sequence’ (as an argument), ‘mapper’ is computed it
with each thread, then the results are collected by ‘reducer’.
Examples: (inefficient but intuitive)
(map-reduce #’+
(lambda (x) (expt x 2)) ;<- each thread computes this
’(1 2 3 4))
=> 30
(map-reduce #’append
(lambda (x) (list (expt x 2)))
’(1 2 3 4))
=> (1 4 9 16)
(map-reduce (lambda (x y) (format nil "~A~A" x y))
(lambda (c) (code-char (1- (char-code c))))
"IBM")
=> "HAL"
Note:
* Use only for expensive computation (e.g. fetching a resource on the
web).
* If ‘mapper’ assigns a value for the same global variable, it will
cause interleave.
* Strictly, this MAP-REDUCE is not the MapReduce, but abstract model
is the same if threads are equated with worker nodes.
Concatenates strings
| Jump to: | ?
C E F G I M O P Q R S |
|---|
| Jump to: | ?
C E F G I M O P Q R S |
|---|
| Jump to: | *
S |
|---|
| Jump to: | *
S |
|---|
| Jump to: | F P Q S |
|---|
| Jump to: | F P Q S |
|---|