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.
Coalton is a dialect of ML embedded in Common Lisp. It emphasizes practicality and interoperability with Lisp, and is intended to be a DSL that allows one to gradually make their programs safer.
Chemboy is a Common Lisp program for doing basic chemistry calculations. This package provides the text-based interface for Chemboy.
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.
ContextL is a CLOS extension for Context-Oriented Programming (COP).
Find overview of ContextL's features in an overview paper: http://www.p-cos.net/documents/contextl-soa.pdf. See also this general overview article about COP which also contains some ContextL examples: http://www.jot.fm/issues/issue_2008_03/article4/.
SPECIALIZATION-STORE system provides a new kind of function, called a store function, whose behavior depends on the types of objects passed to the function.
RUTILS is a syntactic utilities package for Common Lisp.
McCLIM is an implementation of the Common Lisp Interface Manager specification, a toolkit for writing GUIs in Common Lisp.
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.
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.
This library is a universal interface to the operating system package manager. It has extensive support for Guix, among others:
package listing and searching;
package installation and uninstallation;
package file listing;
profile listing;
manifest listing and installation;
generation listing, switching and deletion.
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.
This library allows you to implement and enforce proper finalization of compile-time constructs while building Lisp source files.
It produces two systems: asdf-finalizers and list-of.
CL-DATA-STRUCTURES is a Common Lisp library providing a portable collection of mutable and immutable data structures (dictionaries, sets, queues, sequences) and algorithms.
BOOST-PARSE is a simple token parsing library for Common Lisp.
The LOCAL-TIME library is a Common Lisp library for the manipulation of dates and times. It is based almost entirely upon Erik Naggum's paper "The Long Painful History of Time".
This Common Lisp library implements object prevalence (see https://en.wikipedia.org/wiki/System_prevalence). It allows for (de)serializing to and from s-exps as well as XML. Serialization of arbitrary classes and cyclic data structures are supported.
Markup allows the use of HTML syntax with in Common Lisp code. This has the advantage of being able to copy HTML snippets and have them instantly be functional, less double quotes than a s-expression approach, and designers will be able to understand the embedded HTML.
This library implements a basic promise datastructure, which is useful for dealing with asynchronous behaviours. Importantly, this library does not use any other libraries or frameworks, and instead leaves the execution and state transition of promise objects in your control, making it easy to integrate.
From a string input and a list of candidates, return the most relevant candidates first.
Napa-FFT3 provides Discrete Fourier Transform (DFT) routines, but also buildings blocks to express common operations that involve DFTs: filtering, convolutions, etc.
This package provides a client for SMTP.
This package provides Common Lisp bindings to access the linear algebra libraries using the CBLAS API. Currently the OpenBLAS implementation is used.
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.
Common Lisp implementation of UUIDs according to RFC4122.