Tutorials, general reference, migration guides and meta pages for the Raku language.

At the beginning

How to contribute to Raku and to the documents, how to generate the docs locally

Using Raku official documentation

The extensions recommended for files with Raku content.

A basic introductory example of a Raku program

Migration guides

Learning Raku from Haskell, in a nutshell: what do I already know?

Learning Raku from Node.js, in a nutshell

Builtin functions in Perl to Raku

How do I do what I used to do? (Raku in a nutshell)

Operators in Perl to Raku: equivalencies and variations

How do I do what I used to do?

A comparison of special variables in Perl and Raku

Syntactic differences between Perl and Raku

Learning Raku from Python, in a nutshell

Learning Raku from Ruby, in a nutshell: what do I already know?


A tutorial about creating and using classes in Raku

Creating your own CLI in Raku

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

Concurrency and asynchronous programming

Core modules that may be useful to module authors

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

Different mathematical paradigms and how they are implemented in this language

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

An introduction to grammars

File-related operations

Programs running other programs and communicating with them

Functionalities available for visiting all items in a complex data structure

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

Creating module packages for code reuse

How to create, use, and distribute Raku modules

Some tips on regexes and grammars

Fundamental topics

A low-level explanation of Raku containers

What are contexts and how to switch into them

Statements used to control the flow of execution

How Raku deals with data structures and what we can expect from them

Processing date and time in Raku

An example using the enum type

Using exceptions in Raku

Functions and functional programming in Raku

Parsing and interpreting text

Working with associative arrays/dictionaries/hashes

Routines not defined within any class or role.

Correctly use Raku IO

Positional data constructs

Introspection and the Raku object system

Call into dynamic libraries that follow the C calling convention

How the different newline characters are handled, and how to change the behavior

Numeric types available in Raku

Object orientation in Raku

Common Raku infixes, prefixes, postfixes, and more!

Organizing and referencing namespaced program elements

Measuring and improving runtime or compile-time performance

Program execution phases and corresponding phaser blocks

Special modules that define certain aspects of the behavior of the code

Writing strings, word lists, and regexes in Raku

Using the types the compiler and hardware make available to you

Pattern matching against strings

Unordered collections of unique and weighted objects in Raku

A guide to signatures in Raku

Prefixes that alter the behavior of a statement or a set of them

Accessing data structure elements by index or key

General rules of Raku syntax

Working with the underlying operating system and running applications

Compile-time specification of behavior made easy

Introduction to the type system of Raku

Unicode support in Raku

Unicode symbols and their ASCII equivalents

Variables in Raku

General reference

Valid opening/closing paired delimiters

Information about the people working on and using Raku

Frequently asked questions about Raku

Glossary of Raku terminology

An easy-to-use markup language for documenting Raku modules and programs

Valid, invalid, and unexpected tables

Raku terms

Writing and running tests in Raku

Traps to avoid when getting started with Raku

Advanced topics

Preview of upcoming new language features available for user evaluation