EditButtonTip 2025-03-03

Introduction to Raku

Introductory material, tutorials and migration guides for users familiar with other languages.

Getting started

About the docs How to contribute to Raku and to the documents, how to generate the docs locally
Announcements page A date-stamped list of notes relevant to the Raku documentation site.
Brief introduction Using Raku official documentation
Filename extensions The extensions recommended for files with Raku content.
Raku by example 101 A basic introductory example of a Raku program

Migration guides

Haskell to Raku - nutshell Learning Raku from Haskell, in a nutshell
JavaScript (Node.js) to Raku - nutshell Learning Raku from Node.js, in a nutshell
Perl to Raku guide - functions Builtin functions in Perl to Raku
Perl to Raku guide - in a nutshell How do I do what I used to do? (Raku in a nutshell)
Perl to Raku guide - operators Operators in Perl to Raku: equivalencies and variations
Perl to Raku guide - overview How do I do what I used to do?
Perl to Raku guide - special variables A comparison of special variables in Perl and Raku
Perl to Raku guide - syntax Syntactic differences between Perl and Raku
Python to Raku - nutshell Learning Raku from Python, in a nutshell
Ruby to Raku - nutshell Learning Raku from Ruby, in a nutshell: what do I already know?

Tutorials

Classes and objects A tutorial about creating and using classes in Raku
Command line interface Creating your own CLI 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
Core modules Core modules that may be useful to module authors
Creating operators A short tutorial on how to declare operators and create new ones.
Doing math with Raku Different mathematical paradigms and how they are implemented in this language
Entering unicode characters Input methods for unicode characters in terminals, the shell, and editors
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
Module development utilities What can help you write/test/improve your module(s)
Module packages Creating module packages for code reuse
Modules How to create, use, and distribute Raku modules
REPL Read-eval-print loop
Regexes: best practices and gotchas Some tips on regexes and grammars