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 webring send a patch to ~whereiseveryone/toys@lists.sr.ht adding your channel as an entry in channels.scm.
This package provides a canonical way of converting generalized booleans to booleans.
Bobbin is a simple word-wrapping library for strings in Common Lisp. It aims to be simple, work nicely for the majority of cases, and degrade gracefully for edge cases. It is not particularly concerned with speed — if you need very high-performance word wrapping, Bobbin is not for you.
This library allows macro writers to provide better feedback to macro users when errors are signaled during macroexpansion. It uses the compiler's concept of a source-form to report where the error or warning is located.
Small library aiming to cut down time spent moving data between CLOS and JSON objects. It depends on YASON and it should be possible to use it alongside straight calls to functions from YASON.
This is a task scheduling framework for Common Lisp.
This package provides a SuperCollider client for Common Lisp.
This is a coroutine library for Common Lisp implemented using the continuations of the cl-cont library.
Command-Line-Args provides a main macro (command) that wraps a defun form and creates a new function that parses the command line arguments. It has support for command-line options, positional, and variadic arguments. It also generates a basic help message. The interface is meant to be easy and non-intrusive.
Common Lisp comes with quite some functions to compare objects for equality, yet none is applicable in every situation and in general this is hard, as equality of objects depends on the semantics of operations on them. As consequence, users find themselves regularly in a situation where they have to roll their own specialized equality test.
This module provides one of many possible equivalence relations between standard Common Lisp objects. However, it can be extended for new objects through a simple CLOS protocol. The rules when two objects are considered equivalent distinguish between mutating and frozen objects. A frozen object is promised not to be mutated in the future in a way that operations on it can notice the difference.
We have chosen to compare mutating objects only for identity (pointer equality), to avoid various problems. Equivalence for frozen objects on the other hand is established by recursing on the objects' constituent parts and checking their equivalence. Hence, two objects are equivalent under the OBJECT= relation, if they are either identical, or if they are frozen and structurally equivalent, i.e. their constituents are point-wise equivalent.
Since many objects are potentially mutable, but are not necessarily mutated from a certain point in their life time on, it is possible to promise to the equivalence relation that they remain frozen for the rest of their life time, thus enabling coarser equivalence than the often too fine-grained pointer equality.
Parseq (pronounced parsec) is a parsing library for common lisp. It can be used for parsing lisp's sequences types: strings, vectors (e.g. binary data) and lists. Furthermore, parseq is able to parse nested structures such as trees (e.g. lists of lists, lists of vectors, vectors of strings).
Parseq uses parsing expression grammars (PEG) that can be defined through a simple interface. Extensions to the standard parsing expressions are available. Parsing expressions can be parameterised and made context aware. Additionally, the definition of each parsing expression allows the arbitrary transformation of the parsing tree.
The library is inspired by Esrap and uses a very similar interface. No code is shared between the two projects, however. The features of Esrap are are mostly included in parseq and complemented with additional, orthogonal features. Any resemblance to esrap-liquid is merely coincidental.
This is a Common Lisp library for creating PNG images.
CLX-TrueType is pure common lisp solution for antialiased TrueType font rendering using CLX and XRender extension.
This package provides an example implementation of the Common Lisp condition system and library, based on the original condition system implementation by Kent M. Pitman.
It's very basic implementation of channels and queue for Common Lisp.
This library provides a WebSocket server and client implementation for Common Lisp.
This package provides functions for generating lorem ipsum text.
This library is a collection of utilities for writing compiler macros. It is intended to make it possible to make compiler macros much more useful, by granting them access to lexical type information, making the protocol for declining expansion more convenient, and establishing some information for signaling optimization advice to programmers. Some utilities to support this, especially for reasoning on types, are also included.
This package contains a support library for other hu.dwim systems.
cl-rmath is a simple, autogenerated foreign interface for the standalone R API libRmath. There has been no effort to provide a high-level interface for the original library, instead, this library is meant to serve as a building block for such an interface.
Html-entities is a Common Lisp library that lets you encode and decode entities in HTML.
hdf5-cffi is a CFFI wrapper for the HDF5 library.
This project is meant to provide tools for internationalizing Common Lisp programs.
One important aspect of internationalization is of course the language used in error messages, documentation strings, etc. But with this project we provide tools for all other aspects of internationalization as well, including dates, weight, temperature, names of physical quantities, etc.
STMX is a high-performance implementation of composable Transactional Memory, which is a concurrency control mechanism aimed at making concurrent programming easier to write and understand. Instead of traditional lock-based programming, one programs with atomic memory transactions, which can be composed together to make larger atomic memory transactions.
A memory transaction gets committed if it returns normally, while it gets rolled back if it signals an error (and the error is propagated to the caller).
Finally, memory transactions can safely run in parallel in different threads, are re-executed from the beginning in case of conflicts or if consistent reads cannot be guaranteed, and their effects are not visible from other threads until they commit.
Memory transactions give freedom from deadlocks, are immune to thread-safety bugs and race conditions, provide automatic roll-back on failure, and aim at resolving the tension between granularity and concurrency.
This package provides a priority queue implemented with an array-based heap.