Enter the query into the form above. You can look for specific version of a package by using @ symbol like this: gcc@10.
API method:
GET /api/packages?search=hello&page=1&limit=20
where search is your query, page is a page number and limit is a number of items on a single page. Pagination information (such as a number of pages and etc) is returned
in response headers.
If you'd like to join our channel search send a patch to ~whereiseveryone/toys@lists.sr.ht adding your channel as an entry in channels.scm.
This library is a collection of pseudo random number generators.
While Common Lisp does provide a RANDOM function, it does not allow the user to pass an explicit SEED, nor to portably exchange the random state between implementations. This can be a headache in cases like games, where a controlled seeding process can be very useful.
For both curiosity and convenience, this library offers multiple algorithms to generate random numbers, as well as a bunch of generally useful methods to produce desired ranges.
This is a lightweight, non-consing, optimized queue implementation for Common Lisp.
This package provides Common Lisp bindings to GSSAPI, which is designed to provide a standard API to authentication services. The API itself is generic, and the system can provide different underlying implementations. The most common one is Kerberos, which has several implementations, the most common of which is probably Active Directory.
This package provides a Common Lisp library to create magic squares of any size.
dbi is a Common Lisp library providing a database independent interface for MySQL, PostgreSQL and SQLite.
This library contains generic hacks meant to be used in any project. It was originally developed for the Cells library.
Spatial-trees is a set of dynamic index data structures for spatially-extended data.
This package provides a Common Lisp library for getting the battery information.
Static dispatch is a Common Lisp library, inspired by inlined-generic-function, which allows standard Common Lisp generic function dispatch to be performed statically (at compile time) rather than dynamically (runtime). This is similar to what is known as "overloading" in languages such as C++ and Java.
The purpose of static dispatch is to provide an optimization in cases where the usual dynamic dispatch is too slow, and the dynamic features of generic functions, such as adding/removing methods at runtime are not required. An example of such a case is a generic equality comparison function. Currently generic functions are considered far too slow to implement generic arithmetic and comparison operations when used heavily in numeric code.
This package provides a Language Server Protocol implementation for use with the Alive Visual Studio Code extension.
It can be used in Emacs like this:
(require 'lsp)
(defun lsp-lisp-alive-start-ls ()
"Start the alive-lsp."
(interactive)
(when-let (((lsp--port-available "localhost" lsp-lisp-alive-port)))
(lsp-async-start-process #'ignore #'ignore
"sbcl"
"--eval"
"(require :asdf)"
"--eval"
"(asdf:load-system :alive-lsp)"
"--eval"
(format "(alive/server::start :port %s)"
lsp-lisp-alive-port))))This package provides prototype Common Lisp implementations of TLS, RFC5246, ASN.1, x501,509, and PKCS1,3,5,8.
This is a small Common Lisp library to make slugs, mainly for URIs, from English and beyond.
This is a Common Lisp library for simplifying packaging and loading of compiled foreign library collection.
This library provides modern file handling for Common Lisp, which avoids many of the pitfalls of pathnames.
This is a bare-bones Permuted Congruential Generator implementation in pure Common Lisp.
It can sometimes be useful to be able to parse chemical compounds in a user-friendly syntax into easy-to-manipulate s-expressions. You also want to be able to go in reverse. You could probably write your own parser — or you could just install the chemical-compounds package.
Hunchentoot is a web server written in Common Lisp and at the same time a toolkit for building dynamic websites. As a stand-alone web server, Hunchentoot is capable of HTTP/1.1 chunking (both directions), persistent connections (keep-alive), and SSL.
RESTAS is a Common Lisp web application framework.
iterate is an iteration construct for Common Lisp. It is similar to the CL:LOOP macro, with these distinguishing marks:
it is extensible,
it helps editors like Emacs indent iterate forms by having a more lisp-like syntax, and
it isn't part of the ANSI standard for Common Lisp.
This package implements The MD5 Message-Digest Algorithm, as defined in RFC 1321 by R. Rivest, published April 1992.
This a Common Lisp library to parse HTML5 documents.
In Common Lisp, a special variable that is never dynamically bound typically serves as a stand-in for a global variable. The global-vars library provides true global variables that are implemented by some compilers. An attempt to rebind a global variable properly results in a compiler error. That is, a global variable cannot be dynamically bound.
Global variables therefore allow us to communicate an intended usage that differs from special variables. Global variables are also more efficient than special variables, especially in the presence of threads.
A hook, in the present context, is a certain kind of extension point in a program that allows interleaving the execution of arbitrary code with the execution of a the program without introducing any coupling between the two. Hooks are used extensively in the extensible editor Emacs.
In the Common LISP Object System (CLOS), a similar kind of extensibility is possible using the flexible multi-method dispatch mechanism. It may even seem that the concept of hooks does not provide any benefits over the possibilities of CLOS. However, there are some differences:
There can be only one method for each combination of specializers and qualifiers. As a result this kind of extension point cannot be used by multiple extensions independently.
Removing code previously attached via a
:before,:afteror:aroundmethod can be cumbersome.There could be other or even multiple extension points besides
:beforeand:afterin a single method.Attaching codes to individual objects using eql specializers can be cumbersome.
Introspection of code attached a particular extension point is cumbersome since this requires enumerating and inspecting the methods of a generic function.
This library tries to complement some of these weaknesses of method-based extension-points via the concept of hooks.
This package provides functions for base32 encoding and decoding as defined in RFC4648.