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 provides Kan extensions, Kan lifts, various forms of the Yoneda lemma, and (co)density (co)monads for Haskell.
This Haskell package provides an abstract interface to highly-parameterizable queues/deques.
Background: There exists a feature space for queues that extends between:
Simple, single-ended, non-concurrent, bounded queues
Double-ended, thread-safe, growable queues with important points in between (such as the queues used for work stealing).
This package includes an interface for Deques that allows the programmer to use a single API for all of the above, while using the type system to select an efficient implementation given the requirements (using type families).
This package also includes a simple reference implementation based on IORef and Data.Sequence.
Types that are parametric on a functor are like Barbies that have an outfit for each role. This package provides the basic abstractions to work with them comfortably.
This package provides the core modules underlying diagrams, an embedded domain-specific language for compositional, declarative drawing.
This package contains a MonadRef type class that abstracts over the details of manipulating references, allowing one to write code that can operate in either the ST monad or the IO monad.
Lets multiple threads and external processes concurrently output to the console, without it getting all garbled up.
Built on top of that is a way of defining multiple output regions, which are automatically laid out on the screen and can be individually updated by concurrent threads. Can be used for progress displays etc.
This package provides a type called @DMap@ which generalizes @Data.Map.Map@, allowing keys to specify the type of value that can be associated with them.
A data-type like Either but with differing properties and type-class instances.
Library support is provided for this different representation, including lens-related functions for converting between each and abstracting over their similarities.
The Validation data type is isomorphic to Either, but has an instance of Applicative that accumulates on the error side. That is to say, if two (or more) errors are encountered, they are appended using a Semigroup operation.
As a consequence of this Applicative instance, there is no corresponding Bind or Monad instance. Validation is an example of, "An applicative functor that is not a monad."
A thread safe API to write a line of textual data to a Handle, such as sending some messages to the terminal - that has the following properties:
Properly handle character encoding settings on the Handle
For reasonably sized messages, ensure that the entire message is written in one chunk to avoid interleaving data with other threads
Avoid unnecessary memory allocations and copies
Minimize locking.
This package provides a data type These a b which can hold a value of either type or values of each type. This is usually thought of as an "inclusive or" type (contrasting Either a b as "exclusive or") or as an "outer join" type (contrasting (a, b) as "inner join").
data These a b = This a | That b | These a b
Since version 1, this package was split into parts:
https://hackage.haskell.org/package/semialign For
AlignandZiptype-classes.https://hackage.haskell.org/package/semialign-indexed For
SemialignWithIndexclass, providingialignWithandizipWithhttps://hackage.haskell.org/package/these-lens For lens combinators.
http://hackage.haskell.org/package/monad-chronicle For transformers variant of
These.
This library provides a continuation-based, backtracking, logic programming monad. An adaptation of the two-continuation implementation found in the paper "Backtracking, Interleaving, and Terminating Monad Transformers" available online.
This library provides higher order versions of Prelude classes to ease programming with polymorphic recursion and reduce UndecidableInstances.
This package provides a canonical anonymous 1-tuple type missing from Haskell for attaching typeclass instances.
There is also the OneTuple package which by using a boxed data-type provides a 1-tuple type which has laziness properties which are more faithful to the ones of Haskell's native tuples; whereas the primary purpose of Only is to provide the traditionally so named type-wrapper for attaching typeclass instances.
This Haskell library provides strict left folds that stream in constant memory, and you can combine folds using Applicative style to derive new folds. Derived folds still traverse the container just once and are often as efficient as hand-written folds.
This library provides one module layer over regex-posix to replace Text.Regex.
Using the API Annotations available from GHC 7.10.2, this library provides a means to round-trip any code that can be compiled by GHC, currently excluding .lhs files.
This package provides a quasi-quoter for raw SQL for ghc-persistent.
This Haskell package aims to reexport all the non-conflicting and most general definitions from the "base" package.
This includes APIs for applicatives, arrows, monoids, foldables, traversables, exceptions, generics, ST, MVars and STM.
This package will never have any dependencies other than "base".
Versioning policy:
The versioning policy of this package deviates from PVP in the sense that its exports in part are transitively determined by the version of "base". Therefore it's recommended for the users of ghc-base-prelude to specify the bounds of "base" as well.
This library makes it easy to implement monads with tricky control flow. This is useful for: writing web applications in a sequential style, programming games with a uniform interface for human and AI players and easy replay capabilities, implementing fast parser monads, designing monadic DSLs, etc.
This package provides a small, efficient, and portable regex library for Perl 5 compatible regular expressions. The PCRE library is a set of functions that implement regular expression pattern matching using the same syntax and semantics as Perl 5.
This package contains a wrapped name module for TimeLocale.
A library for generating concise pretty printers based on precedence rules.
This package provides a small cross-platform library for reading and modifying the system clipboard. It uses xclip or xsel at runtime.
This library provides functions for control flow inside of monads with anaphoric variants on if and when and a C-like switch function.