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 library provides HTML combinators for Haskell.
This library provides Numeric.Interval.Interval, which represents a closed, convex set of floating point values.
This package enables users to expand type synonyms in Template Haskell abstract syntax trees (ASTs).
This package provides a Haskell wrapper over the LibYAML C library.
Turtle is a reimplementation of the Unix command line environment in Haskell so that you can use Haskell as both a shell and a scripting language. Features include:
Batteries included: Command an extended suite of predefined utilities.
Interoperability: You can still run external shell commands.
Portability: Works on Windows, OS X, and Linux.
Exception safety: Safely acquire and release resources.
Streaming: Transform or fold command output in constant space.
Patterns: Use typed regular expressions that can parse structured values.
Formatting: Type-safe printf-style text formatting.
Modern: Supports text and system-filepath.
Read "Turtle.Tutorial" for a detailed tutorial or "Turtle.Prelude" for a quick-start guide. Turtle is designed to be beginner-friendly, but as a result lacks certain features, like tracing commands. If you feel comfortable using turtle then you should also check out the Shelly library which provides similar functionality.
This library provides tools to create command line interfaces with ease.
cassava is a library for parsing and encoding RFC 4180 compliant comma-separated values (CSV) data, which is a textual line-oriented format commonly used for exchanging tabular data.
cassava's API includes support for:
Index-based record-conversion
Name-based record-conversion
Typeclass directed conversion of fields and records
Built-in field-conversion instances for standard types
Customizable record-conversion instance derivation via GHC generics
Low-level bytestring builders (see Data.Csv.Builder)
Incremental decoding and encoding API (see Data.Csv.Incremental)
Streaming API for constant-space decoding (see Data.Csv.Streaming)
Moreover, this library is designed to be easy to use; for instance, here's a very simple example of encoding CSV data:
>>> Data.Csv.encode [("John",27),("Jane",28)]
"John,27\r\nJane,28\r\n"
The ghc-lib-parser-ex package contains GHC API parse tree utilities.
This library provides file handling utilities for Haskell.
This package provides a quasi-quoter for raw SQL for ghc-persistent.
This package provides first class functional references. In addition to the usual operations of getting, setting and composition, plus integration with the state monad, lens families provide some unique features:
Polymorphic updating
Traversals
Cast projection functions to read-only lenses
Cast
toListfunctions to read-only traversalsCast semantic editor combinators to modify-only traversals
For optimal first-class support use the lens-family package with rank 2/rank N polymorphism. Lens.Family.Clone allows for first-class support of lenses and traversals for those who require Haskell 98.
This package provides a modular backend for rendering diagrams created with the diagrams embedded domain-specific language (EDSL) to Scalable Vector Graphics (SVG) files.
This package provides a simple logging abstraction that allows multiple back-ends.
This library provides functions for parsing and pretty printing Roman numerals. Because the notation of Roman numerals has varied through the centuries this package allows for some customisation using a configuration that is passed to the conversion functions.
This package provides optimized functions to determine the edit distances for fuzzy matching, including Levenshtein and restricted Damerau-Levenshtein algorithms.
This library provides parsers and printers for bencoded data. Bencode is the encoding used by the peer-to-peer file sharing system BitTorrent for storing and transmitting loosely structured data.
This package provides functions to prevent or capture writing to stdout and other handles.
This package provides a Haskell type inhabited by finitely many values and indexed by type-level naturals.
This library is intended to be a comprehensive solution to parsing and selecting quality-indexed values in HTTP headers. It is capable of parsing both media types and language parameters from the Accept and Content header families, and can be extended to match against other accept headers as well. Selecting the appropriate header value is achieved by comparing a list of server options against the quality-indexed values supplied by the client. . In the following example, the Accept header is parsed and then matched against a list of server options to serve the appropriate media using mapAcceptMedia': . > getHeader >>= maybe send406Error sendResourceWith . mapAcceptMedia > [ ("text/html", asHtml) > , ("application/json", asJson) > ] . Similarly, the Content-Type header can be used to produce a parser for request bodies based on the given content type with mapContentMedia': . > getContentType >>= maybe send415Error readRequestBodyWith . mapContentMedia > [ ("application/json", parseJson) > , ("text/plain", parseText) > ] . The API is agnostic to your choice of server.
This package provides a functional library for creating efficient memo functions using tries.
This library provides data structures for describing changes to other data structures. In this library, a patch is something that can be applied, analogous to a function, and which distinguishes returning the argument it was provided from returning something else.
Most data types in the Haskell platform do not have Lift instances. This package provides orphan instances for containers, text, bytestring and vector.
Hpack is a format for Haskell packages. It is an alternative to the Cabal package format and follows different design principles. Hpack packages are described in a file named package.yaml. Both cabal2nix and stack support package.yaml natively. For other build tools the hpack executable can be used to generate a .cabal file from package.yaml.
This package provides default instances for types from the base package.