This is the quicksearch Reference Manual, version 0.1.3, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Dec 15 07:25:37 2024 GMT+0.
The main system appears first, followed by any subsystem dependency.
quicksearch
Quicksearch 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.lisp
quicksearch
(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.
quicksearch
qs
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 |
---|