Getting started, Migration guides from other languages, & Tutorials
At the beginning
- Raku by example 101. A basic introductory example of a Raku program
- About the docs. How to contribute to Raku and to the documents, how to generate the docs locally
- Filename extensions. The extensions recommended for files with Raku content.
- Brief introduction. Using Raku official documentation
Migration guides
- Perl to Raku guide - in a nutshell. How do I do what I used to do? (Raku in a nutshell)
- Perl to Raku guide - overview. How do I do what I used to do?
- Perl to Raku guide - functions. Builtin functions in Perl to Raku
- Perl to Raku guide - operators. Operators in Perl to Raku: equivalencies and variations
- Perl to Raku guide - syntax. Syntactic differences between Perl and Raku
- Perl to Raku guide - special variables. A comparison of special variables in Perl and Raku
- 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
- 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
- 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)
- Modules. How to create, use, and distribute Raku modules
- 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. Read-eval-print loop
- Entering unicode characters. Input methods for unicode characters in terminals, the shell, and editors
Fundamental topics
- Containers. A low-level explanation of Raku containers
- Contexts and contextualizers. What are contexts and how to switch into them
- Control flow. Statements used to control the flow of execution
- Enumeration. An example using the enum type
- Exceptions. Using exceptions in Raku
- Functions. Functions and functional programming in Raku
- Grammars. Parsing and interpreting text
- Hashes and maps. Working with associative arrays/dictionaries/hashes
- Input/Output the definitive guide. Correctly use Raku IO
- Lists, sequences, and arrays. Positional data constructs
- Metaobject protocol (MOP). Introspection and the Raku object system
- Native calling interface. Call into dynamic libraries that follow the C calling convention
- Raku native types. Using the types the compiler and hardware make available to you
- Newline handling in Raku. How the different newline characters are handled, and how to change the behavior
- Numerics. Numeric types available in Raku
- Object orientation. Object orientation in Raku
- Operators. Common Raku infixes, prefixes, postfixes, and more!
- Packages. Organizing and referencing namespaced program elements
- Performance. Measuring and improving runtime or compile-time performance
- Phasers. Program execution phases and corresponding phaser blocks
- Pragmas. Special modules that define certain aspects of the behavior of the code
- Quoting constructs. Writing strings and word lists, in Raku
- Regexes. Pattern matching against strings
- Sets, bags, and mixes. Unordered collections of unique and weighted objects in Raku
- Signature literals. A guide to signatures in Raku
- Statement prefixes. Prefixes that alter the behavior of a statement or a set of them
- Data structures. How Raku deals with data structures and what we can expect from them
- Subscripts. Accessing data structure elements by index or key
- Syntax. General rules of Raku syntax
- System interaction. Working with the underlying operating system and running applications
- Date and time functions. Processing date and time in Raku
- Traits. Compile-time specification of behavior made easy
- Unicode versus ASCII symbols. Unicode symbols and their ASCII equivalents
- Unicode. Unicode support in Raku
- Variables. Variables in Raku
- Independent routines. Routines not defined within any class or role.
General reference
- Brackets. Valid opening/closing paired delimiters
- Community. Information about the people working on and using Raku
- FAQ. Frequently asked questions about Raku
- Glossary. Glossary of Raku terminology
- Pod6. An easy-to-use markup language for documenting Raku modules and programs
- Pod6 tables. Valid, invalid, and unexpected tables
- Terms. Raku terms
- Testing. Writing and running tests in Raku
- Traps to avoid. Traps to avoid when getting started with Raku