Modules

How to use, create, and distribute Raku modules

Creating and using modules

A module is usually a source file or set of source files that expose Raku constructs [1].

Modules are typically packages (classes, roles, grammars), subroutines, and sometimes variables. In Raku module can also refer to a type of package declared with the module keyword (see Module Packages and the examples below) but here we mostly mean "module" as a set of source files in a namespace.

Using Modules

Introduction

See Using Modules: An Introduction

Looking for and installing modules

See Using Modules: Finding and Installing

Loading and using modules

See Using Modules

Making Modules

Terminology and basic structure

See Making Modules

How to organize your module with regard to its usage

See Making Modules

Distributing modules

See Distributions: An Introduction.

Preparing the module

See Distributions: The Configuration and Structure

Tools that help with module authoring

See Distributions: The Tools

Testing modules and a distribution

See Distributions: Testing.

Uploading the module

See Distributions: Uploading.

Discussing module development

See Distributions: An Introduction

[1]Technically a module is a set of compunits which are usually files but could come from anywhere as long as there is a compunit repository that can provide it. See S11.

See Also

Classes and objects

A tutorial about creating and using classes in Raku

CompUnits and where to find them

How and when Raku modules are compiled, where they are stored, and how to access them in compiled form.

Concurrency

Concurrency and asynchronous programming

Command line interface

Creating your own CLI in Raku

Grammar tutorial

An introduction to grammars

Input/Output

File-related operations

Inter-process communication

Programs running other programs and communicating with them

Iterating

Functionalities available for visiting all items in a complex data structure

Doing math with Raku

Different mathematical paradigms and how they are implemented in this language

Module packages

Creating module packages for code reuse

Core modules

Core modules that may be useful to module authors

Module development utilities

What can help you write/test/improve your module(s)

Creating operators

A short tutorial on how to declare operators and create new ones.

Regexes: best practices and gotchas

Some tips on regexes and grammars

REPL

Interactive Raku, read-eval-print loop

Slangs

Slangs in Raku

Entering unicode characters

Input methods for unicode characters in terminals, the shell, and editors

The Camelia image is copyright 2009 by Larry Wall. "Raku" is trademark of the Yet Another Society. All rights reserved.

Built with Podlite — the markup and publishing tools behind this site.