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 converts between bytestrings and their hexadecimal string representation.
The psqueues package provides Priority Search Queues in three different flavors:
OrdPSQ k p v, which uses theOrd kinstance to provide fast insertion, deletion and lookup. This implementation is based on Ralf Hinze's A Simple Implementation Technique for Priority Search Queues.Hence, it is similar to the PSQueue library, although it is considerably faster and provides a slightly different API.
IntPSQ p vis a far more efficient implementation. It fixes the key type toIntand uses ahttps://en.wikipedia.org/wiki/Radix_tree, radix tree(likeIntMap) with an additional min-heap property.HashPSQ k p vis a fairly straightforward extension ofIntPSQ: it simply uses the keys' hashes as indices in theIntPSQ. If there are any hash collisions, it uses anOrdPSQto resolve those. The performance of this implementation is comparable to that ofIntPSQ, but it is more widely applicable since the keys are not restricted toInt, but rather to anyHashabledatatype.
Each of the three implementations provides the same API, so they can be used interchangeably.
Typical applications of Priority Search Queues include:
Caches, and more specifically LRU Caches;
Schedulers;
Pathfinding algorithms, such as Dijkstra's and A*.
This package provides a Haskell library for working with base16-encoded data quickly and efficiently, using the ByteString type.
This package provides portable implementations of parts of the unix package. This package re-exports the unix package when available. When it isn't available, portable implementations are used.
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 haskell library provides validity and validity-based testing for ghc-hspec.
This library provides Numeric.Interval.Interval, which represents a closed, convex set of floating point values.
This library defines a propositional equality data type, shims Data.Type.Equality as well as possible for older GHC versions (< 7.8).
data a :~: b where Refl :: a :~: a
The module Data.Type.Equality.Hetero shims @code:~~: equality, and for compilers with PolyKinds.
This package provides ordered containers of intervals, with efficient search for all keys containing a point or overlapping an interval. See the example code on the home page for a quick introduction.
This Haskell package provides interfaces and helper functions for the ghc-persistent package.
This Haskell package provides Monomorphic variants of the Functor, Foldable, and Traversable typeclasses. If you understand Haskell's basic typeclasses, you understand mono-traversable. In addition to what you are used to, it adds on an IsSequence typeclass and has code for marking data structures as non-empty.
This package provides an interface to file locking functionalities.
This package provides Data.Scientific, which provides the number type Scientific. Scientific numbers are arbitrary precision and space efficient. They are represented using scientific notation.
A parser and renderer for binary Olson timezone files whose format is specified by the tzfile(5) man page on Unix-like systems. For more information about this format, see http://www.iana.org/time-zones/repository/tz-link.html. Functions are provided for converting the parsed data into TimeZoneSeries objects from the timezone-series package.
This package provides a library for issuing notifications using FreeDesktop.org's Desktop Notifications protocol. This protocol is supported by services such as Ubuntu's NotifyOSD.
This Haskell package defines typeclasses used for converting Haskell data types to and from HTTP API data.
This library lets you write interactive programs without callbacks or side-effects. Functional Reactive Programming (FRP) uses composable events and time-varying values to describe interactive systems as pure functions. Just like other pure functional code, functional reactive code is easier to get right on the first try, maintain, and reuse. Reflex is a fully-deterministic, higher-order FRP interface and an engine that efficiently implements that interface.
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 package provides Haskell library for matching files using patterns such as \"src\/**\/*.png\" for all @file.png files recursively under the @filesrc directory.
Some of its features include:
All matching is O(n).
Most functions pre-compute some information given only one argument.
Uses
matchandsubstituteto extract suitable strings from the*and**matches, and substitutes them back into other patterns.Uses
stepandmatchManyto perform bulk matching of many patterns against many paths simultaneously.Uses
System.FilePattern.Directoryto perform optimised directory traverals using patterns.
The package provides mutable and immutable bit arrays.
This package provides a fully compliant Haskell 98 lexer.
This package normalizes variations in the interface for inspecting datatype information via Template Haskell so that packages and support a single, easier to use informational datatype while supporting many versions of Template Haskell.
Transformers provides functor and monad transformers, inspired by the paper "Functional Programming with Overloading and Higher-Order Polymorphism", by Mark P Jones, in Advanced School of Functional Programming, 1995 http://web.cecs.pdx.edu/~mpj/pubs/springschool.html.
This package contains:
the monad transformer class (in
Control.Monad.Trans.Class)concrete functor and monad transformers, each with associated operations and functions to lift operations associated with other transformers.
This package can be used on its own in portable Haskell code, in which case operations need to be manually lifted through transformer stacks (see Control.Monad.Trans.Class for some examples). Alternatively, it can be used with the non-portable monad classes in the mtl or monads-tf packages, which automatically lift operations introduced by monad transformers through other transformers.
This package provides a Pure Haskell implementation of the SplitMix pseudorandom number generator. SplitMix is a "splittable" pseudorandom number generator that is quite fast: 9 64-bit arithmetic/logical operations per 64 bits generated. SplitMix is tested with two standard statistical test suites (DieHarder and TestU01, this implementation only using the former) and it appears to be adequate for "everyday" use, such as Monte Carlo algorithms and randomized data structures where speed is important. In particular, it should not be used for cryptographic or security applications, because generated sequences of pseudorandom values are too predictable (the mixing functions are easily inverted, and two successive outputs suffice to reconstruct the internal state).