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.
The premise of basic-prelude is that there are a lot of very commonly desired features missing from the standard Prelude, such as commonly used operators (<$> and >=>, for instance) and imports for common datatypes (e.g., ByteString and Vector). At the same time, there are lots of other components which are more debatable, such as providing polymorphic versions of common functions.
So basic-prelude is intended to give a common foundation for a number of alternate preludes. The package provides two modules: CorePrelude provides the common ground for other preludes to build on top of, while BasicPrelude exports CorePrelude together with commonly used list functions to provide a drop-in replacement for the standard Prelude.
Users wishing to have an improved Prelude can use BasicPrelude. Developers wishing to create a new prelude should use CorePrelude.
The ghc-lib-parser-ex package contains GHC API parse tree utilities.
Atomically write to a file on POSIX-compliant systems while preserving permissions. mv is an atomic operation. This makes it simple to write to a file atomically just by using the mv operation. However, this will destroy the permissions on the original file. This library preserves permissions while atomically writing to a file.
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 library provides functions for use in parsing indentation sensitive contexts. It parses blocks of lines all indented to the same level as well as lines continued at an indented level below.
This Haskell package provides a lens library, just like ghc-lens, but smaller. It provides essential lenses and traversals (like _1 and _Just), as well as ones which are simply nice to have (like each, at, and ix), and some combinators (like failing and singular), but everything else is stripped. As the result, this package has no dependencies.
The mockery package provides support functions for automated testing.
This package provides a Readable type class for reading data types from ByteString and Text. It also includes efficient implementations for common data types.
This package (formerly binary-serialise-cbor) provides pure, efficient serialization of Haskell values directly into ByteStrings for storage or transmission purposes. By providing a set of type class instances, you can also serialise any custom data type you have as well.
The underlying binary format used is the 'Concise Binary Object Representation', or CBOR, specified in RFC 7049. As a result, serialised Haskell values have implicit structure outside of the Haskell program itself, meaning they can be inspected or analyzed without custom tools.
An implementation of the standard bijection between CBOR and JSON is provided by the https://hackage.haskell.org/package/cborg-json package. Also see https://hackage.haskell.org/package/cbor-tool for a convenient command-line utility for working with CBOR data.
wordexp(3) wrapper library for Haskell to perform word expansion like a posix-shell.
The conduit package itself maintains relative small dependencies. The purpose of this package is to collect commonly used utility functions wrapping other library dependencies, without depending on heavier-weight dependencies. The basic idea is that this package should only depend on haskell-platform packages and conduit.
Per Conor McBride, the Newtype typeclass represents the packing and unpacking of a newtype, and allows you to operate under that newtype with functions such as ala'.
Provides Default instances for types from the old-locale package.
This package is a compatibility package for a singleton data type . > data Solo a = Solo a . Note: it's not a @newtype@ . @Solo@ is available in @base-4.16@ (GHC-9.2).
This package provides a compatibility layer for using GHC call stacks with different versions of the compiler.
wizards is a package designed for the quick and painless development of interrogative programs, which revolve around a dialogue with the user, who is asked a series of questions in a sequence much like an installation wizard.
Everything from interactive system scripts, to installation wizards, to full-blown shells can be implemented with the support of wizards.
It is developed transparently on top of a free monad, which separates out the semantics of the program from any particular interface. A variety of backends exist, including console-based System.Console.Wizard.Haskeline and System.Console.Wizard.BasicIO, and the pure System.Console.Wizard.Pure. It is also possible to write your own backends, or extend existing back-ends with new features. While both built-in IO backends operate on a console, there is no reason why wizards cannot also be used for making GUI wizard interfaces.
The functional graph library, FGL, is a collection of type and function definitions to address graph problems. The basis of the library is an inductive definition of graphs in the style of algebraic data types that encourages inductive, recursive definitions of graph algorithms.
Haskell library for parsing of ISO 8601 dates, originally from aeson.
Wrapper for the Data.Version.Version Haskell type.
This is only for use in developing libraries that should conform to the persistent interface, not for users of the persistent suite of database libraries.
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).
The Par monad offers an API for parallel programming. The library works for parallelising both pure and IO computations, although only the pure version is deterministic. The default implementation provides a work-stealing scheduler and supports forking tasks that are much lighter weight than IO-threads.
This package provides a simple text templating system used by pandoc.
This package provides Haskell modules for accessing and manipulating fields of records.