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.
String eval is often used for dynamic code generation. For instance, Moose uses it heavily, to generate inlined versions of accessors and constructors, which speeds code up at runtime by a significant amount. String eval is not without its issues however - it's difficult to control the scope it's used in (which determines which variables are in scope inside the eval), and it's easy to miss compilation errors, since eval catches them and sticks them in $@ instead. This module attempts to solve these problems. It provides an eval_closure function, which evals a string in a clean environment, other than a fixed list of specified variables. Compilation errors are rethrown automatically.
This library provides a set of Path::Tiny types and coercions for Specio. These types can be used with Moose, Moo, Params::ValidationCompiler, and other modules.
This package compiles yacc-like Look Ahead LR (LALR) grammars to generate Perl object oriented parser modules.
When an undefined variable is dereferenced, it gets silently upgraded to an array or hash reference (depending of the type of the dereferencing). This behaviour is called autovivification and usually does what you mean but it may be unnatural or surprising because your variables get populated behind your back. This is especially true when several levels of dereferencing are involved, in which case all levels are vivified up to the last, or when it happens in intuitively read-only constructs like exists. The pragma provided by this package lets you disable autovivification for some constructs and optionally throws a warning or an error when it would have happened.
Text::Tabs will add or remove tabs from a document. Text::Wrap will reformat lines into paragraphs.
Text::CSV provides facilities for the composition and decomposition of comma-separated values. An instance of the Text::CSV class can combine fields into a CSV string and parse a CSV string into fields.
The Getopt::Long module implements an extended getopt function called GetOptions(). It parses the command line from ARGV, recognizing and removing specified options and their possible values.
This function adheres to the POSIX syntax for command line options, with GNU extensions. In general, this means that options have long names instead of single letters, and are introduced with a double dash "--". Support for bundling of command line options, as was the case with the more traditional single-letter approach, is provided but not enabled by default.
IO::CaptureOutput provides routines for capturing STDOUT and STDERR from perl subroutines, forked system calls (e.g. system(), fork()) and from XS or C modules.
This module is no longer recommended by its maintainer. Users are advised to try Capture::Tiny instead.
This module understands the W3CDTF date/time format, an ISO 8601 profile, defined at https://www.w3.org/TR/NOTE-datetime. This format is the native date format of RSS 1.0. It can be used to parse these formats in order to create the appropriate objects.
Storable brings persistence to your Perl data structures containing SCALAR, ARRAY, HASH or REF objects, i.e. anything that can be conveniently stored to disk and retrieved at a later time.
This module provides a simple debugger for grammars. Just use it: use Grammar::Debugger; and any grammar in the lexical scope of the use statement will automatically have debugging enabled. The debugger will break execution when you first enter the grammar, and provide a prompt.
This provides a representation of the Raku META files specification -- the META file data can be read, created, parsed and written in a manner that is conformant with the specification.
Where they are known about, it also makes allowance for customary usage in existing software (such as installers and so forth).
The intent of this is to allow the generation and testing of META files for module authors, so it can provide meta-information about whether the attributes are mandatory as per the spec and, where known, the places that customary attributes are used.
A URI implementation using Raku grammars to implement RFC 3986 BNF. Currently only implements parsing. Includes URI::Escape to (un?)escape characters that aren't otherwise allowed in a URI with % and a hex character numbering.
This provides a trait and a role for the identification of `opt in' serializable attributes in, e.g., JSON::Marshal. It's probably not necessary to use this directly as it will be required by, e.g., JSON::Name, but it's just more convenient to package it separately.
Short for "Metamodel On A Runtime", MoarVM is a modern virtual machine built for the Rakudo Perl 6 compiler and the NQP Compiler Toolchain. Highlights include:
Great Unicode support, with strings represented at grapheme level
Dynamic analysis of running code to identify hot functions and loops, and perform a range of optimizations, including type specialization and inlining
Support for threads, a range of concurrency control constructs, and asynchronous sockets, timers, processes, and more
Generational, parallel, garbage collection
Support for numerous language features, including first class functions, exceptions, continuations, runtime loading of code, big integers and interfacing with native libraries.
This Raku module implements Common Lisp's format language.
This is a simple role that provides methods to instantiate a class from a JSON string that (hopefully) represents it, and to serialize an object of the class to a JSON string. The JSON created from an instance should round trip to a new instance with the same values for the public attributes. Private attributes (that is ones without accessors,) will be ignored for both serialization and deserialization. The exact behaviour depends on that of JSON::Marshal and JSON::Unmarshal respectively.
A monitor provides per-instance mutual exclusion for objects. This means that for a given object instance, only one thread can ever be inside its methods at a time. This is achieved by a lock being associated with each object. The lock is acquired automatically at the entry to each method in the monitor. Condition variables are also supported.
This library provides support modules for NQP and Rakudo Configure.pl scripts.
This Raku module implements encoding and decoding to and from base64.
This is a Raku module that makes it easy to write Scalable Vector Graphic files (SVG). Right now it is a shallow wrapper around XML::Writer, adding only the xmlns attributes that identify an XML file as SVG.
This is "Not Quite Perl" -- a lightweight Raku-like environment for virtual machines. The key feature of NQP is that it's designed to be a very small environment (as compared with, say, Rakudo) and is focused on being a high-level way to create compilers and libraries for virtual machines like MoarVM, the JVM, and others.
Unlike a full-fledged implementation of Raku, NQP strives to have as small a runtime footprint as it can, while still providing a Raku object model and regular expression engine for the virtual machine.
A naive imperative JSON parser in pure Raku (but with direct access to nqp:: ops), to evaluate performance against JSON::Tiny. It is a drop-in replacement for JSON::Tiny's from-json and to-json subs, but it offers a few extra features.
This library provides a single exported subroutine to create an object from a JSON representation of an object.