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 is a websocket server for Common Lisp using usockets to be portable between implementations and operating systems. It has a programming interface that allows for multiple websocket apps per server using Common Lisp keywords for different websocket events. It has useful restarts and customizable errors.
This library retrieves locale information configured on the system. This is helpful if you want to write applications and libraries that display messages in the user's native language.
BST is a Common Lisp library for working with binary search trees that can contain any kind of values.
This project is intended as a catchall for small, general-purpose extensions to Common Lisp. It contains:
new-let, a macro that combines and generalizeslet,let*andmultiple-value-bind,gmap, an iteration macro that generalizesmap.
A simple Common-Lisp interface to the underlying operating system. It's independent of the implementation and operating system.
PRINTV is a "batteries-included" tracing and debug-logging macro for Common Lisp.
Often times we need to destructure a form definition in a Common Lisp macro. This library provides a set of simple utilities to help with that.
A Common Lisp library for generating a human-readable diff of two HTML documents.
This is a library for quaternions. It contains most of the quaternion operations one would usually expect out of such a library and offers them both in non-modifying and modifying versions where applicable. It also tries to be efficient where plausible. Each quaternion is made up of floats, which by default are single-floats, as they do not require value boxing on most modern systems and compilers.
This is a repackage of the original DejaVu Fonts with some convenience functions.
Dynamic-Classes helps to ease the prototyping process by bringing dynamism to class definition.
The Metering System is a portable Common Lisp code profiling tool. It gathers timing and consing statistics for specified functions while a program is running.
This is a Common Lisp bindings library to libfond, a simple OpenGL text rendering engine.
cl-template is a template engine for Common Lisp, taking inspiration from Ruby's ERb module.
This is a Common Lisp library providing a unified way to work with package locks across supported Common Lisp implementations.
Plump is a parser for HTML/XML-like documents, focusing on being lenient towards invalid markup. It can handle things like invalid attributes, bad closing tag order, unencoded entities, inexistent tag types, self-closing tags and so on. It parses documents to a class representation and offers a small set of DOM functions to manipulate it. It can be extended to parse to your own classes.
POLICY-COND provides tools to insert and execute code based on a compiler's OPTIMIZE policy. It also contains a contract-like notion of expectations, which allow dynamic checking or inclusion of various things that should happen depending on compiler policy.
3D-VECTORS is a library for vector math in 3D space. It contains most of the vector operations one would usually expect out of such a library and offers them both in non-modifying and modifying versions where applicable.
The canonical way to determine the size of a file in bytes, using Common Lisp, is to open the file with an element type of (unsigned-byte 8) and then calculate the length of the stream. This is less than ideal. In most cases it is better to get the size of the file from its metadata, using a system call.
This library exports a single function, file-size-in-octets. It returns the size of a file in bytes, using system calls when possible.
jsown is a high performance Common Lisp JSON parser. Its aim is to allow for the fast parsing of JSON objects in Common Lisp. Recently, functions and macros have been added to ease the burden of writing and editing jsown objects.
jsown allows you to parse JSON objects quickly to a modifiable Lisp list and write them back. If you only need partial retrieval of objects, jsown allows you to select the keys which you would like to see parsed. jsown also has a JSON writer and some helper methods to alter the JSON objects themselves.
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.
carp is a Lisp-like programming language that compiles to C. It features inferred static typing, macros, automatic memory management without a garbage collector, a REPL, and straightforward integration with code written in C.
Easy ISLISP (eisl) is an implementation of ISLisp which includes a compiler as well as an interpreter.
Roswell started out as a command-line tool with the aim to make installing and managing Common Lisp implementations really simple and easy. Roswell has now evolved into a full-stack environment for Common Lisp development, and has many features that makes it easy to test, share, and distribute your Lisp applications.
Roswell is still in beta. Despite this, the basic interfaces are stable and not likely to change.