Skip to content
master
Switch branches/tags
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 

Task::Popular

Introduction
Module Listing
Date of Compilation
Problems
Updates and Algorithm

Introduction

The developers of Perl6 decided that the implementation of the language (eg. Rakudo) would be available with a bare minimum of "core" modules. Some modules are essential, such as Test, or the module manager (previously panda, currently zef).

The intention is for users / user groups to contribute distributions that meet a specific topic area. Rakudo itself is available in a package called Rakudo Star with a minimal number of modules.

This distribution list takes another, data driven, approach.

Modules are intended to provide common functionality, and so are used or cited by other modules in the Ecosystem. A set of modules that are frequently used can be fairly safely assumed will be regularly maintained. Failures in these modules will affect many other modules, and there will be pressure to get them fixed.

This list uses Citation Indices to identify the 30 modules most recursively popular modules in the Ecosystem.

Modules in this distribution

Module Name Recursive Citation Index Module Description
JSON::Fast 37.87 OOps description not found, please file issue at github repository of p6-task-popular
URI 31.56 A URI implementation using Perl 6 grammars to implement RFC 3986 BNF
MIME::Base64 28.9 Encoding and decoding Base64 ASCII strings
File::Directory::Tree 26.58 Port of File::Path::Tiny - create and delete directory trees
File::Temp 25.91 Create temporary files & directories
HTTP::Status 23.59 Get the text message associated with an HTTP status code
JSON::Tiny 18.94 OOps description not found, please file issue at github repository of p6-task-popular
OpenSSL 17.94 OpenSSL bindings
JSON::Name 16.28 Provides a trait to store an alternative JSON Name
Encode 15.61 Character encodings in Perl 6
DateTime::Parse 15.28 DateTime parser
JSON::Unmarshal 15.28 Turn JSON into objects
HTTP::UserAgent 14.95 Web user agent
JSON::Marshal 14.95 Simple serialisation of objects to JSON
Terminal::ANSIColor 14.95 Colorize terminal output
JSON::Class 14.29 role to provide simple serialisation/deserialisation of objects to/from JSON
HTML::Escape 12.96 Utility of HTML escaping
LibraryMake 11.96 An attempt to simplify native compilation
META6 11.63 Work with Perl 6 META files
File::Find 11.3 File::Find for Perl 6
Digest 10.96 Pure perl6 implementation of digest algorigthms.
XML 10.63 A full-featured, pure-perl XML library (parsing, manipulation, emitting, queries, etc.)
Test::META 10.3 Test a distributions META file
IO::Socket::SSL 9.97 IO::Socket::SSL for Perl 6 using OpenSSL
PSGI 9.3 A PSGI helper library.
URI::Encode 8.97 Encode and decode URIs according to RFC 3986
File::Which 8.31 Cross platform Perl 6 executable path finder (aka which on UNIX)
Digest::HMAC 7.97 Generic HMAC implementation
HTTP::Easy 7.31 HTTP servers made easy, including PSGI
JSON::Pretty 7.31 A minimal JSON (de)serializer that produces easily readable JSON

Date of Compilation

This list was compiled on 2018-01-01.

Problems

Inevitably for commonly needed functionality, there may be multiple modules that provide the same functionality. An example is JSON::Tiny and JSON::Fast. J/Fast was designed to be a drop-in replacement for J/Tiny, which was first written to demonstrate how to use Perl6 and not as a workhorse module. However, for some reason J/Tiny has a lot of support, although J/Fast is taking over (see the ModuleCitation page to trace the historical change).

So the Task::Popular list may have alternate modules for the same functionality. But for a newcomer to the Ecosystem that might in fact be interesting as it provides a choice, and the opportunity to compare coding styles.

Updates and Algorithm

The aim is to update the list regularly (eg. monthly).

The algorithm for generating the distribution list is implemented as a method in the ModuleCitation class.

About

List of Popular Perl6 modules

Resources

License

Releases

No releases published

Packages

No packages published