Table of Contents
Web page (clickable)
Chapter headings (clickable)
Raku™ by example 101
Pragma v6
Statements
Lexical scope and block
Sigils and identifiers
Scalar
Filehandle and assignment
String literals
Arrays, methods and invocants
Hashes
for and blocks
Any and +=
Fat arrow, pairs and autovivification
Postincrement and preincrement
Topic variable
Blocks
Stable sort
Standard output
Variable interpolation
Double-quoted strings and single-quoted strings
Zen slices
Exercises
Perl to Raku guide - in a nutshell
CPAN
Syntax
Identifiers
-> Method calls
Whitespace
Sigils
$ Scalar
@ Array
% Hash
& Sub
* Glob
[] Array indexing/slicing
{} Hash indexing/slicing
Creating references and using them
Operators
, (Comma) List separator
<=> cmp Three-way comparisons
~~ Smartmatch operator
& | ^ String bitwise ops
& | ^ Numeric bitwise ops
& | ^ Boolean ops
<< >> Numeric shift left|right ops
=> Fat comma
? : Ternary operator
. (Dot) String concatenation
x List repetition or string repetition operator
.. ... Two dots or three dots, range op or flipflop op
String interpolation
Compound statements
Conditionals
if elsif else unless
given-when
Loops
while until
do while/until
for foreach
each
Flow control statements
continue
Functions
Built-ins with bare blocks
delete
exists
Regular expressions ( regex / regexp )
Change =~ and !~ to ~~ and !~~ .
Captures start with 0, not 1
Move modifiers
Add :P5 or :Perl5 adverb
Special matchers generally fall under the <> syntax
Longest token matching (LTM) displaces alternation
Named captures
Comments
BEGIN, UNITCHECK, CHECK, INIT and END
UNITCHECK becomes CHECK
No block necessary
Changed semantics with regards to precompilation
Pragmas
strict
warnings
autodie
base, parent
bigint bignum bigrat
constant
encoding
integer
lib
mro
utf8
vars
Command-line flags
-a
-F
-l
-M -m
-E
-d, -dt, -d:foo, -D, etc.
-s
File-related operations
Reading the lines of a text file into an array
Capturing the standard output of executables.
Environment variables
Perl module library path
Misc.
'0' is True
dump
AUTOLOAD
Importing specific functions from a module
Importing groups of specific functions from a module
Core modules
Data::Dumper
Getopt::Long
Automated translation
Blue Tiger
Perlito
Perl-ToPerl6
Other sources of translation knowledge
Perl to Raku guide - overview
Raku in a nutshell
Syntactic differences
Operators in Raku
Functions in Raku
Special variables in Raku
Perl to Raku guide - functions
DESCRIPTION
NOTE
Alphabetical listing of Perl functions
Filetests
abs
accept
alarm
atan2
bind
binmode
bless
break
caller
chdir
chmod
chomp
chop
chr
chroot
close
closedir
connect
continue
cos
crypt
dbm functions
defined
delete
die
do
dump
each
eof
eval
evalbytes
exec
exists
exit
exp
fc
fcntl
__FILE__
fileno
flock
fork
formats
getc
getpeername
getpgrp
getppid
getpriority
get and set functions
getsock*
glob
gmtime
goto
grep
hex
import
index
int
ioctl
join
keys
kill
last
lc
lcfirst
length
__LINE__
link
listen
local
localtime
lock
log
lstat
m//
map
mkdir
msg*
my
next
no
oct
open
opendir
ord
our
pack
package
__PACKAGE__
pipe
pop
pos
print
printf
prototype
push
quoting
rand
read
readdir
readline
readlink
readpipe
recv
redo
ref
rename
requires
reset
return
reverse
rewinddir
rindex
rmdir
s///
say
scalar
seek
seekdir
select
semctl
semget
semop
send
setpgrp
setpriority
setsockopt
shift
shm*
shutdown
sin
sleep
sockets
sort
splice
split
sprintf
sqrt
srand
stat
state
study
sub
__SUB__
substr
symlink
syscall
sys*
system
syswrite
tell
telldir
tie
time
times
tr///
truncate
uc
ucfirst
undef
unlink
unpack
unshift
untie
use
utime
values
vec
wait
waitpid
wantarray
warn
write
y///
Perl to Raku guide - operators
DESCRIPTION
NOTE
Operator precedence and associativity
Terms and list operators
The arrow operator
Auto-increment and auto-decrement
Exponentiation
Symbolic unary operators
Binding operators
Multiplicative operators
Additive operators
Shift operators
Named unary operators
Relational operators
Equality operators
Smartmatch operator
Bitwise And
Bitwise Or and Exclusive Or
C-style Logical And
C-style Logical Or
Logical Defined-Or
Range operators
Conditional operator
Assignment operators
Comma operator
List operators (rightward)
Logical Not
Logical And
Logical or and Exclusive Or
Quote and quote-like operators
I/O operators
No-ops
Bitwise string operators
Perl to Raku guide - syntax
DESCRIPTION
NOTE
Free form
Declarations
Comments
Truth and falsehood
Statement modifiers
Compound statements
Loop control
For loops
Foreach loops
Switch statements
Goto
Ellipsis statement
PODs: embedded documentation
Perl to Raku guide - special variables
DESCRIPTION
NOTE
SPECIAL VARIABLES
General variables
$ARG, $_
@ARG, @_
$LIST_SEPARATOR, $"
$PROCESS_ID, $PID, $$
$PROGRAM_NAME, $0
$REAL_GROUP_ID, $GID, $(
$EFFECTIVE_GROUP_ID, $EGID, $)
$REAL_USER_ID, $UID, $<
$EFFECTIVE_USER_ID, $EUID, $>
$SUBSCRIPT_SEPARATOR, $SUBSEP, $;
$a, $b
%ENV
$OLD_PERL_VERSION, $]
$SYSTEM_FD_MAX, $^F
@F
@INC
%INC
$INPLACE_EDIT, $^I
$^M
$OSNAME, $^O
%SIG
$BASETIME, $^T
$PERL_VERSION, $^V
${^WIN32_SLOPPY_STAT}
$EXECUTABLE_NAME, $^X
Variables related to regular expressions
Performance issues
$ ($1, $2, ...)
$MATCH, $&
${^MATCH}
$PREMATCH, $`
${^PREMATCH}
$POSTMATCH, $'
${^POSTMATCH}
$LAST_PAREN_MATCH, $+
$LAST_SUBMATCH_RESULT, $^N
@LAST_MATCH_END, @+
%LAST_PAREN_MATCH, %+
@LAST_MATCH_START, @-
%LAST_MATCH_START, %-
$LAST_REGEXP_CODE_RESULT, $^R
${^RE_DEBUG_FLAGS}
${^RE_TRIE_MAXBUF}
Variables related to filehandles
$ARGV
@ARGV
ARGV
ARGVOUT
$OUTPUT_FIELD_SEPARATOR, $OFS, $,
$INPUT_LINE_NUMBER
$NR, $.
$INPUT_RECORD_SEPARATOR, $RS, $/
$OUTPUT_RECORD_SEPARATOR, $ORS, $\
$OUTPUT_AUTOFLUSH, $|
${^LAST_FH}
Variables related to formats
Error variables
Variables related to the interpreter state
$COMPILING, $^C, $^D, ${^ENCODING}, ${^GLOBAL_PHASE}
$^H, %^H, ${^OPEN}
$PERLDB, $^P
${^TAINT}
${^UNICODE}, ${^UTF8CACHE}, ${^UTF8LOCALE}
About the docs
Structure
Generating HTML from Pod
Contributing
Adding definitions
Classes and objects
A quick overview
The Task example
Class
Attributes
Twigil $!
Twigil $.
is rw trait
is built trait
is required trait
Default values
Class variables
Methods
Private methods
Construction
bless
TWEAK
BUILD
Destruction
Consuming our class
A word on types
Inheritance
Overriding inherited methods
Multiple inheritance
The also declarator
Introspection
Overriding default gist method
A practical introspection example
Community
Overview
The Raku community
Online communities
Offline communities
Other resources
Rakudo Weekly
Raku Advent calendar
CompUnits and where to find them
Overview
Introduction
Why change?
Long names
$*REPO
Repositories
Resources
Dependencies
Precomp stores
Credit
Concurrency
High-level APIs
Promises
Supplies
whenever
react
Transforming supplies
Ending a supply
Phasers in a supply or react block
Channels
Proc::Async
Low-level APIs
Threads
Schedulers
ThreadPoolScheduler
CurrentThreadScheduler
Locks
Safety concerns
Containers
What is a variable?
Scalar containers
Callable containers
Binding
Scalar containers and listy things
Assigning and binding to array variables
Binding to array elements
Flattening, items and containers
Self-referential data
Type constraints
Definedness constraints
Custom containers
Contexts and contextualizers
Sink
Number
String
Boolean
List
Item context
Control flow
Statements
Blocks
Phasers
do
start
if
else/elsif
unless
with orwith without
when
for
gather/take
supply/emit
given
default and when
proceed and succeed
given as a statement
loop
while, until
repeat/while, repeat/until
return
return-rw
fail
once
LABELs
next
last
redo
Command line interface
Command line interface - an overview
Parsing the command line parameters into a capture
Calling a provided MAIN subroutine using that capture
Creating / showing usage information if calling MAIN failed
sub MAIN
%*SUB-MAIN-OPTS
named-anywhere
bundling
is hidden-from-USAGE
Unit-scoped definition of MAIN
sub USAGE
Intercepting CLI argument parsing (2018.10, v6.d and later)
sub ARGS-TO-CAPTURE
Intercepting usage message generation (2018.10, v6.d and later)
sub RUN-MAIN
sub GENERATE-USAGE
Intercepting MAIN calling (before 2018.10, v6.e)
Enumeration
Exceptions
Ad hoc exceptions
Typed exceptions
Catching exceptions
Exception handlers and enclosing blocks
try blocks
Throwing exceptions
Resuming of exceptions
Uncaught exceptions
Control exceptions
Experimental features
pack
macros
cached
FAQ
General
What's the difference between Raku, Rakudo and Perl 6?
When was Raku released?
Is there a Raku version 6.0.0?
When was v6.d released?
As a Raku user, what should I install?
As an advanced user I want to track Rakudo development.
Where can I find good documentation on Raku?
Can I get some books about Raku?
What is the Raku specification?
Is there a glossary of Raku related terms?
I'm a Perl programmer. Where is a list of differences between Perl and Raku?
I'm a Ruby programmer looking for quickstart type docs?
Modules
Is there a repository of third party library modules for Raku?
Is there a perldoc (command line documentation viewer) for Raku?
Can I use Perl modules from Raku?
Can I use C and C++ from Raku?
Nativecall can't find libfoo.so and I only have libfoo.so.1.2!
Where have all the traditional UNIX library functions gone?
Does Rakudo have a core standard library?
Is there something like B::Deparse/How can I get hold of the AST?
What is precompilation?
Can I have circular dependencies between modules?
Common operations
String: How can I parse and get a number from a string?
String: How can I check if a string contains a substring and if so, how can I get indices of matches?
String: How can I get the hexadecimal representation of a string?
String: How can I remove from a string some characters by index?
String: How can I split a string in equal parts?
Language features
How can I dump Raku data structures (like Perl Data::Dumper and similar)?
How can I get command line history in the Raku prompt (REPL)?
Why is the Rakudo compiler so apologetic?
What is (Any)?
What is so?
What are those :D and :U things in signatures?
What is the --> thing in the signature?
How can I extract the values from a Junction?
If Str is immutable, how does s/// work? If Int is immutable, how does $i++ work?
What's up with array references and automatic dereferencing? Do I need the @ sigil?
Why sigils? Couldn't you do without them?
"Type Str does not support associative indexing."
Does Raku have coroutines? What about yield?
Why can't I initialize private attributes from the new method, and how can I fix this?
How and why do say, put and print differ?
What's the difference between token and rule ?
What's the difference between die and fail?
What's the difference between Pointer and OpaquePointer?
You can have colonpairs in identifiers. What's the justification?
How do most people enter unicode characters?
Raku implementation
What Raku implementations are available?
What language is Rakudo written in?
What language is NQP written in?
Is Raku Lisp?
Can I compile my script to a standalone executable?
Raku distribution
When will the next version of Rakudo Star be released?
Metaquestions and advocacy
Why was Raku originally called Perl 6?
When will Raku be ready? Is it ready now?
Why should I learn Raku? What's so great about it?
Is Raku fast enough for me?
Filename extensions
Introduction
History and extensions
Functions
Defining/Creating/Using functions
Subroutines
Blocks and lambdas
Signatures
Automatic signatures
Arguments
Return values
Return type constraints
Multi-dispatch
proto
only
multi resolution by order of definition
Conventions and idioms
Slurpy conventions
Functions are first-class objects
Infix form
Closures
Routines
Defining operators
Precedence
Associativity
Traits
Re-dispatching
sub callsame
sub callwith
sub nextsame
sub nextwith
sub samewith
sub nextcallee
Wrapped routines
Routines of parent class
Coercion types
sub MAIN
Glossary
Abstract class
Advent calendar
Adverb
Adverbial pair
Allomorph
Anonymous
API
Apocalypse
Arity
ASCII operator
Autothreading
Backtracking
binder
block
bytecode
Camelia
Colon pair and colon list
Community
Damian Conway
decont
diffy
Exegesis
Forward declarations
fiddly
Handle
Huffmanize
iffy
import
Instance
Interface
Invocant
IRC
IRC lingo
ALAP
autopun
backlog
Bot
Compilation unit or compunit
DWIM
flap
fossil
FSVO
FTFY
gradual typing
IIRC
IMHO
IWBN
LHF
LGTM
LTA
NST
Opt
PB
PR
P5
P6
RSN
RT
TIMTOWTDI
TMI
TMTOWTDI
UGT
WFM
WIP
WP
WW
Larry Wall
Lexing
Literal
LHS
lvalue
Mainline
Mayspec
MoarVM
Multi-dispatch
multi-method
Née
NFG
Niecza
Not Quite Perl
NQP
NYI
opcode
Operator
Parse tree
Parameter
Parrot
PAST
Perl
Perl 6
PERL
POD
POV
Propspec
Pull request
property
pugs
QAST
Rakudo
Reify
Repository
RHS
roast
Roles
rvalue
SAP
Semilist
Sigil
Sigilless variable
Spesh
STD
Stub
Symbol
Synopsis
Syntax analysis
Test suite
TheDamian
TimToady
token
Thunk
Tight and loose precedence
twine
Type objects
Type smiley
value
UB
Value type
Variable
Variable interpolation
Virtual machine
WAT
whitespace
6model
Grammar tutorial
Before we start
Why grammars?
When would I use grammars?
The broad concept of grammars
Getting more technical
The conceptual overview
The technical overview
Learning by example - a REST contrivance
Adding some flexibility
Inheriting from a grammar
Adding some constraints
Putting our RESTful grammar together
Grammar actions
Grammars by example with actions
Keeping grammars with actions tidy with make and made
Add actions directly
Grammars
Named Regexes
Rules
Creating grammars
Proto regexes
Special tokens
TOP
ws
sym
"Always succeed" assertion
Methods in grammars
Dynamic variables in grammars
Attributes in grammars
Passing arguments into grammars
Action objects
Hashes and maps
The associative role and associative classes
Mutable hashes and immutable maps
Hash assignment
Hash slices
Non-string keys (object hash)
Constraint value types
Looping over hash keys and values
In place editing of values
Haskell to Raku - nutshell
Types
Types vs values
Maybe
Data definitions
Type aliases and subsets
Typeclasses
Functions
Definitions and signatures
Pattern
Guards
Argument
Currying
Composing
Case / matching
Lists
List comprehensions
Fold
takeWhile
Map
Ranges
Laziness vs eagerness
Contexts (let-in / where)
Parsers
Parser combinators vs grammars
Tail Call Optimization or Tail Call Elimination
Brief introduction
Input/Output
Reading from files
Line by line
Writing to files
Copying, renaming, and removing files
Checking files and directories
Getting a directory listing
Creating and removing directories
Input/Output the definitive guide
The basics
Navigating paths
What's an IO::Path anyway?
Path parts
Working with files
Writing into files
Writing new content
Appending content
Reading from files
Using IO::Path
Using IO::Handle
The wrong way to do things
Leave $*SPEC alone
Stringifying IO::Path
Be mindful of $*CWD
temp the $*CWD
Inter-process communication
Running programs
The Proc object
The Proc::Async object
Iterating
The Iterator and Iterable roles
How to iterate: contextualizing and topic variables
Classic loops and why we do not like them
JavaScript (Node.js) to Raku - nutshell
Basic syntax
"Hello, world!"
Variables
Operators
Assignment
Equality
Smartmatching
Numeric
Bitwise
Checking for definedness
Custom operators and operator overloading
Control flow
if/else
switch
for, while, and do/while
do
Types
Creating types
Using types
Comparing JavaScript and Raku types
Functions
Object-oriented programming
Asynchronous programming
The networking API
Net
HTTP/HTTPS
DNS
Punycode
The filesystem API
Modules and packages
Lists, sequences, and arrays
Literal lists
The @ sigil
Reset a list container
Iteration
Single Argument Rule
Testing for elements
Sequences
Using .iterator
Slips
Lazy lists
Immutability
List contexts
List assignment context
Flattening "context"
Argument list (Capture) context
Slice indexing context
Range as slice
Array constructor context
Arrays
Typing
Fixed size arrays
Itemization
Literal arrays
Mutability
Assigning
Binding
Doing math with Raku
Sets
Arithmetic
Sequences
Mathematical constants
Numerical integration of ordinary differential equations
Requirements
Malthus model
Step by step explanation
Logistic model
Strong Allee Effect
Weak Allee Effect
Extra info
Module packages
What are modules?
When to use modules
Working with modules
Modules on disk
File and module naming
The unit keyword
What happens if I omit module?
Lexical aliasing and safety
Modules
Creating and using modules
Looking for and installing modules.
Basic structure
Loading and basic importing
need
use
require
Lexical module loading
Exporting and selective importing
is export
UNIT::EXPORT::*
EXPORT
Introspection
Finding installed modules
Testing modules and a distribution
Distributing modules
Preparing the module
Upload your module to CPAN
Upload your module to zef ecosystem
Versioning and fez
Upload your module to p6c
Modules and tools related to module authoring
Contact information
Core modules
CompUnit::* modules and roles
NativeCall modules
Other modules
Module development utilities
Module builder and authoring tools
Tests
NativeCall
Sample modules
Metaobject protocol (MOP)
Metamethods
WHAT
WHICH
WHO
WHERE
HOW
WHY
DEFINITE
VAR
Metaclass methods
Structure of the metaobject system
Bootstrapping concerns
Composition time and static reasoning
Power and responsibility
Power, convenience and pitfalls
Native calling interface
Getting started
NativeCall helper module
Changing names
Passing and returning values
Specifying the native representation
Basic use of pointers
Function pointers
Arrays
CArray methods
CArray sub-arrays
Structs
CUnions
Embedding CStructs and CUnions with HAS
Notes on memory management
In your Raku code...
In your C code...
Typed pointers
Strings
Explicit memory management
Buffers and blobs
Function arguments
Library paths and names
ABI/API version
Routine
Calling into the standard library
Exported variables
C++ support
Helper functions
sub nativecast
sub cglobal
sub nativesizeof
sub explicitly-manage
Examples
PostgreSQL
MySQL
Microsoft Windows
Short tutorial on calling a C function
Platform Specific Notes
MacOS - DYLD_LIBRARY_PATH is ignored
Raku native types
Types with native representation
Types with native representation and size
The void type
Atomic types
Rakudo specific native types
Newline handling in Raku
Numerics
Int
Num
Complex
Rational
Rat
Degradation to Num
FatRat
Printing rationals
Division by zero
Zero-denominator rationals
Allomorphs
Available allomorphs
Coercion of allomorphs
Object identity
Native numerics
Available native numerics
Creating native numerics
Overflow/Underflow
Auto-boxing
Default values
Native dispatch
Atomic operations
Numeric infectiousness
Object orientation
Using objects
Type objects
Classes
Attributes
Methods
Class and instance methods
self
Private methods
Submethods
Inheritance
Delegation
Object construction
Object cloning
Roles
Applying roles
Stubs
Inheritance
Pecking order
Automatic role punning
Parameterized roles
Mixins of roles
Metaobject programming and introspection
Opener graphemes
Operators
Operator precedence
Operator associativity
Operator classification
Substitution operators
s/// in-place substitution
S/// non-destructive substitution
tr/// in-place transliteration
TR/// non-destructive transliteration
Assignment operators
Metaoperators
Negated relational operators
Reversed operators
Hyper operators
Reduction metaoperators
Cross metaoperators
Zip metaoperator
Sequential operators
Nesting of metaoperators
Term precedence
term < >
term ( )
term { }
circumfix [ ]
Terms
Method postfix precedence
postcircumfix [ ]
postcircumfix { }
postcircumfix <>
postcircumfix < >
postcircumfix « »
postcircumfix ( )
methodop .
methodop .&
methodop .=
methodop .^
methodop .?
methodop .+
methodop .*
methodop ». / methodop >>.
methodop .postfix / .postcircumfix
methodop .:
methodop .::
postfix ,=
Autoincrement precedence
prefix ++
prefix --
postfix ++
postfix --
Exponentiation precedence
infix **
Symbolic unary precedence
prefix ?
prefix !
prefix +
prefix -
prefix ~
prefix |
prefix +^
prefix ~^
prefix ?^
prefix ^
Dotty infix precedence
infix .=
infix .
Multiplicative precedence
infix *
infix /
infix div
infix %
infix %%
infix mod
infix +&
infix +<
infix +>
infix ~&
infix ~<
infix ~>
infix ?&
infix gcd
infix lcm
Additive precedence
infix +
infix -
infix +|
infix +^
infix ~|
infix ~^
infix ?^
infix ?|
Replication precedence
infix x
infix xx
Concatenation
infix ~
infix o, infix ∘
Junctive AND (all) precedence
infix &
infix (&), infix ∩
infix (.), infix ⊍
Junctive OR (any) precedence
infix |
infix (|), infix ∪
infix (+), infix ⊎
infix (-), infix ∖
infix ^
infix (^), infix ⊖
Named unary precedence
prefix temp
prefix let
Nonchaining binary precedence
infix does
infix but
infix cmp
infix coll
infix unicmp
infix leg
infix <=>
infix ..
infix ..^
infix ^..
infix ^..^
Chaining binary precedence
infix ==, infix ⩵
infix !=, infix ≠
infix <
infix <=, infix ≤
infix >
infix >=, infix ≥
infix eq
infix ne
infix gt
infix ge
infix lt
infix le
infix before
infix after
infix eqv
infix ===, infix ⩶
infix =:=
infix ~~
infix =~=
infix (elem), infix ∈
infix ∉
infix (==), infix ≡
infix ≢
infix (cont), infix ∋
infix ∌
infix (<), infix ⊂
infix ⊄
infix (<=), infix ⊆
infix ⊈
infix (>), infix ⊃
infix ⊅
infix (>=), infix ⊇
infix ⊉
Tight AND precedence
infix &&
Tight OR precedence
infix ||
infix ^^
infix //
infix min
infix max
infix minmax
Conditional operator precedence
infix ?? !!
infix ff
infix ^ff
infix ff^
infix ^ff^
infix fff
infix ^fff
infix fff^
infix ^fff^
Item assignment precedence
infix = (item assignment)
infix =>
Loose unary precedence
prefix not
prefix so
Comma operator precedence
infix ,
infix :
List infix precedence
infix Z
infix X
infix ...
List prefix precedence
infix = (list assignment)
infix :=
infix ::=
listop ...
listop !!!
listop ???
Reduction operators
Loose AND precedence
infix and
infix andthen
infix notandthen
Loose OR precedence
infix or
infix orelse
infix xor
Sequencer precedence
infix ==>
infix <==
Identity
Creating operators
Packages
Names
Package-qualified names
Pseudo-packages
Looking up names
Interpolating into names
Direct lookup
Package lookup
Class member lookup
Globals
Programmatic use of modules
Performance
First, profile your code
Time with now - INIT now
Profile locally
Profile compiling
Create or view benchmarks
Share problems
Solve problems
Line by line
Routine by routine
Speed up type-checks and call resolution
Choose better algorithms
Change sequential/blocking code to parallel/non-blocking
Use existing high performance code
Make the Rakudo compiler generate faster code
Still need more ideas?
Not getting the results you need/want?
Phasers
Phasers
Execution order
Program execution phasers
BEGIN
CHECK
INIT
END
Block phasers
ENTER
LEAVE
KEEP
UNDO
PRE
POST
Loop phasers
FIRST
NEXT
LAST
Exception handling phasers
CATCH
CONTROL
Object phasers
COMPOSE (Not yet implemented)
Asynchronous phasers
LAST
QUIT
CLOSE
DOC phasers
DOC
Pod6
Block structure
Delimited blocks
Configuration information
Paragraph blocks
Abbreviated blocks
Declarator blocks
Block types
Headings
Ordinary paragraphs
Code blocks
I/O blocks
Lists
Unordered lists
Definition lists
Multi-level lists
Multi-paragraph lists
Tables
Pod6 comments
Semantic blocks
Formatting codes
Bold
Italic
Underlined
Code
Links
Placement links
Nested
Nested
Comments
Notes
Keyboard input
Replaceable
Terminal output
Unicode
Verbatim text
Nested
Indexing terms
Rendering Pod
HTML
Markdown
Text
Accessing Pod
Pragmas
v6.x
MONKEY-GUTS
MONKEY-SEE-NO-EVAL
MONKEY-TYPING
MONKEY
dynamic-scope
experimental
fatal
internals
invocant
isms
lib
newline
nqp
parameters
precompilation
soft
strict
trace
v6
variables
worries
Python to Raku - nutshell
Basic syntax
Hello, world
Statement separators
Blocks
Variables
Scope
Control flow
Lambdas, functions and subroutines>
List comprehensions
Classes and objects
Decorators
Context managers
input
Tuples
Quoting constructs
The Q lang
Literal strings: Q
Escaping: q
Interpolation: qq
Interpolating variables
Interpolating closures
Interpolating escape codes
preventing interpolation and handling missing values
Word quoting: qw
Word quoting: < >
Word quoting with quote protection: qww
Word quoting with interpolation: qqw
Word quoting with interpolation and quote protection: qqww
Word quoting with interpolation and quote protection: « »
Shell quoting: qx
Shell quoting with interpolation: qqx
Heredocs: :to
Unquoting
Regexes
Ruby to Raku - nutshell
Basic syntax
Statement ending semicolons
Whitespace
. Method calls, .public_send
Variables, sigils, scope, and common types
Variable scope
$ Scalar
@ Array
% Hash
& Sub
* Slurpy params / argument expansion
Twigils
: Symbols
Operators
== != < > <= >= Comparisons
<=> Three-way comparisons
~~ Smartmatch operator
& | ^ Numeric bitwise ops
& | ^ Boolean ops
&. Conditional chaining operator
<< >> Numeric shift left, right ops, shovel operator
=> and : Key-value separators
? : Ternary operator
+ String concatenation
String interpolation
Compound statements
Conditionals
if elsif else unless
case-when
Loops
while until
for .each
Flow interruption statements
Regular expressions ( regex / regexp )
.match method and =~ operator
.sub and .sub!
Regex options
Whitespace is ignored, most things must be quoted
Special matchers generally fall under the <> syntax
Longest token matching (LTM) displaces alternation
File-related operations
Reading the lines of a text file into an array
Iterating over the lines of a text file
Object orientation
Basic classes, methods, attributes
Private methods
Going meta
Environment variables
Raku module library path
Misc.
Importing specific functions from a module
OptionParser, parsing command-line flags
RubyGems, external libraries
Regexes
Lexical conventions
Anonymous regex definition syntax
Named regex definition syntax
Regex readability: whitespace and comments
Match syntax
Literals and metacharacters
Wildcards
Character classes
Backslashed character classes
\n and \N
\t and \T
\h and \H
\v and \V
\s and \S
\d and \D
\w and \W
\c and \C
\x and \X
Predefined character classes
Predefined Regexes
Unicode properties
Enumerated character classes and ranges
Quantifiers
One or more: +
Zero or more: *
Zero or one: ?
General quantifier: ** min..max
Modified quantifier: %, %%
Preventing backtracking: :
Greedy versus frugal quantifiers: ?
Alternation: ||
Longest alternation: |
Quoted lists are LTM matches
Conjunction: &&
Conjunction: &
Anchors
Start of string and end of string
Start of line and end of line
Word boundary
Left and right word boundary
Summary of anchors
Zero-width assertions
Lookaround assertions
Lookahead assertions
Lookbehind assertions
Grouping and capturing
Capturing
Non-capturing grouping
Capture numbers
Named captures
Capture markers: <( )>
Substitution
Lexical conventions
Replacing string literals
Wildcards and character classes
Capturing groups
Common adverbs
S/// non-destructive substitution
Tilde for nesting structures
Recursive Regexes
Subrules
Regex interpolation
Regex Boolean condition check
Adverbs
Regex adverbs
Ignorecase
Ignoremark
Ratchet
Sigspace
Perl compatibility adverb
Matching adverbs
Positional adverbs
Counting
Continue
Exhaustive
Global
Pos
Overlap
Substitution adverbs
Samecase
Samemark
Samespace
Backtracking
$/ changes each time a regular expression is matched
Best practices and gotchas
Regexes: best practices and gotchas
Code layout
Keep it small
What to match
Matching whitespace
Sets, bags, and mixes
Introduction
Operators with set semantics
Set operators that return Bool
infix (elem), infix ∈
infix ∉
infix (cont), infix ∋
infix ∌
infix (<=), infix ⊆
infix ⊈
infix (<), infix ⊂
infix ⊄
infix (>=), infix ⊇
infix ⊉
infix (>), infix ⊃
infix ⊅
infix (==), infix ≡
infix ≢
Set operators that return a QuantHash
infix (|), infix ∪
infix (&), infix ∩
infix (-), infix ∖
infix (^), infix ⊖
Set operators that return a Baggy
infix (.), infix ⊍
infix (+), infix ⊎
Terms related to set operators
term ∅
Statement prefixes
lazy
eager
hyper, race
quietly
try
do
sink
react
Data structures
Scalar structures
Complex data structures
Functional structures
Defining and constraining data structures
Infinite structures and laziness
Introspection
Subscripts
Basics
Positional subscripting
Associative subscripting
Applying subscripts
Nonexistent elements
From the end
Slices
Truncating slices
Zen slices
Multiple dimensions
Modifying elements
Autovivification
Binding
Adverbs
:exists
:delete
:p
:kv
:k
:v
Custom types
Custom type example
Methods to implement for positional subscripting
method elems
method AT-POS
method EXISTS-POS
method DELETE-POS
method ASSIGN-POS
method BIND-POS
method STORE
Methods to implement for associative subscripting
method AT-KEY
method EXISTS-KEY
method DELETE-KEY
method ASSIGN-KEY
method BIND-KEY
method STORE
Syntax
Lexical conventions
Free form
Unspace
Separating statements with semicolons
Implied separator rule (for statements ending in blocks)
Comments
Single-line comments
Multi-line / embedded comments
Pod comments
Identifiers
Ordinary identifiers
Extended identifiers
Compound identifiers
term term:<>
Statements and expressions
Terms
Variables
Barewords (constants, type names)
Packages and qualified names
Literals
String literals
Number literals
Int literals
Rat literals
Num literals
Complex literals
Pair literals
Arrow pairs
Adverbial pairs (colon pairs)
Boolean literals
Array literals
Hash literals
Regex literals
Signature literals
Declarations
Variable declaration
Subroutine declaration
Package, Module, Class, Role, and Grammar declaration
Multi-dispatch declaration
Subroutine calls
Precedence drop
Operators
Metaoperators
System interaction
Getting arguments through the command line
Getting arguments interactively
Running programs synchronously and asynchronously
Making operating system calls through the native API
Pod6 tables
Restrictions
Best practices
Good tables
Bad tables
Ugly tables
Date and time functions
Terms
Literals
Int
Rat
Num
Str
Regex
Pair
List
*
Identifier terms
term self
term now
term time
term rand
term π
term pi
term τ
term tau
term 𝑒
term e
term i
term ∅
Variables
Constants
Testing
Writing tests
Thread safety
Running tests
Test plans
Testing return values
By string comparison
By approximate numeric comparison
By structural comparison
By arbitrary comparison
By object type
By method name
By role
By regex
Testing modules
Testing exceptions
Grouping tests
Skipping tests
Manual control
Traits
The is trait
is applied to classes.
is repr and native representations.
is on routines
is implementation-detail trait
method is-implementation-detail
Traps to avoid
Variables and constants
Constants are computed at compile time
Assignment of Nil can produce a different value, usually Any
Using a block to interpolate anon state vars
Using set subroutines on Associative when the value is falsy
Blocks
Beware of empty "blocks"
Objects
Assigning to attributes
BUILD prevents automatic attribute initialization from constructor arguments
Whitespace
Whitespace in regexes does not match literally
Ambiguities in parsing
Block vs. Hash slice ambiguity
Reduction vs. Array constructor ambiguity
Less than vs. Word quoting/Associative indexing
Exclusive sequences vs. sequences with Ranges
Captures
Containers versus values in a capture
Cool tricks
Strings are not Lists, so beware indexing
Lists become strings, so beware .index()ing
Lists become strings, so beware .contains()
Numeric literals are parsed before coercion
Getting a random item from a List
Lists numify to their number of elements in numeric context
Arrays
Referencing the last element of an array
Typed array parameters
Using «» quoting when you don't need it
Strings
Quotes and interpolation
Beware of variables used within qqx
Strings are not iterable
.chars gets the number of graphemes, not Codepoints
All text is normalized by default
Allomorphs generally follow numeric semantics
Case-insensitive comparison of strings
Pairs
Constants on the left-hand side of pair notation
Scalar values within Pair
Sets, bags and mixes
Sets, bags and mixes do not have a fixed order
Operators
Junctions
Exclusive sequence operator
String ranges/Sequences
Topicalizing operators
Fat arrow and constants
Infix operator assignment
Regexes
$x vs <$x>, and $(code) vs <{code}>
| vs ||: which branch will win
$/ changes each time a regular expression is matched
vs. < foo>: named rules vs. quoted lists
Non-capturing, non-global matching in list context
Common precedence mistakes
Adverbs and precedence
Ranges and precedence
Loose Boolean operators
Exponentiation operator and prefix minus
Method operator calls and prefix minus
Subroutine and method calls
Named parameters
Argument count limit
Phasers and implicit return
LEAVE needs explicit return from a sub to run
Input and output
Closing open filehandles and pipes
IO::Path stringification
Splitting the input data into lines
Proc::Async and print
Using .stdout without .lines
Exception handling
Sunk Proc
Using shortcuts
The ^ twigil
Using » and map interchangeably
Word splitting in « »
Scope
Using a once block
LEAVE phaser and exit
LEAVE phaser may run sooner than you think
Grammars
Using regexes within grammar's actions
Using certain names for rules/token/regexes
Unfortunate generalization
:exists with more than one key
Using […] metaoperator with a list of lists
Using [~] for concatenating a list of blobs
Maps
Beware of nesting Maps in sink context
Smartmatching
Smartmatch and WhateverCode
Type system
Definition of a Raku type
Default types
Type objects
Undefinedness
Coercion
Type declarators
class
Mixins
Introspection
Metaclass
Private attributes
Methods
Inheritance and multis
Only method
submethod BUILD
Fallback method
Reserved method names
Methods in package scope
Setting attributes with namesake variables and methods
trait is nodal
trait handles
trait is
trait is rw
trait is required
trait hides
trait trusts
Augmenting a class
role
Auto-punning
trait does
Parameterized
As type constraints
enum
Typing Enums
Metaclass
Methods
Coercion
module
package
grammar
subset
Versioning, authorship, and API version.
Unicode
Filehandles and I/O
Normalization
UTF8-C8
Entering unicode codepoints and codepoint sequences
Name aliases
Named sequences
Emoji sequences
Unicode versus ASCII symbols
Alphabetic characters
Numeric characters
Numeric values
Whitespace characters
Other acceptable single codepoints
Atomic operators
Multiple codepoints
Entering unicode characters
XCompose (Linux)
Getting compose working in all programs
ibus
XKB (Linux)
Single-user configuration
System-wide configuration
KDE
How to enter Unicode characters using a two-key combination
WinCompose (Windows)
Terminals, shells, and editors:
XTerm
URxvt
Unix shell
Screen
Vim
vim-raku
Emacs
Some characters useful in Raku
Smart quotes
Guillemets
Set/bag operators
Mathematical symbols
Greek characters
Superscripts and subscripts
Variables
Sigils
Item and list assignment
Sigilless variables
Twigils
The * twigil
The ? twigil
The ! twigil
The . twigil
The ^ twigil
The : twigil
A note on ^ and :
The = twigil
The ~ twigil
Variable declarators and scope
The my declarator
The our declarator
Declaring a list of variables with lexical (my) or package (our) scope
The has declarator
The anon declarator
The state declarator
The $ variable
The @ variable
The % variable
The augment declarator
The temp prefix
The let prefix
The constant prefix
Type constraints and initialization
Default defined variables pragma
Special variables
Pre-defined lexical variables
The $_ variable
The $/ variable
Positional attributes
Named attributes
Thread-safety issues
The $! variable
Compile-time variables
%?RESOURCES
Introspection compile-time variables
Rakudo-specific compile-time variables
&?ROUTINE
&?BLOCK
$?DISTRIBUTION
Dynamic variables
Argument related variables
$*ARGFILES
@*ARGS
&*ARGS-TO-CAPTURE
&*GENERATE-USAGE
Special filehandles: STDIN, STDOUT and STDERR
Runtime environment
%*ENV
$*REPO
$*INIT-INSTANT
$*TZ
$*CWD
$*KERNEL
$*DISTRO
$*VM
$*RAKU
$*PERL
$*PID
$*PROGRAM-NAME
$*PROGRAM
&*EXIT
$*EXECUTABLE
$*EXECUTABLE-NAME
$*USAGE
$*USER
$*GROUP
$*HOMEDRIVE
$*HOMEPATH
$*HOME
$*SPEC
$*TMPDIR
$*THREAD
$*SCHEDULER
$*SAMPLER
Runtime variables
$*DEFAULT-READ-ELEMS
$*COLLATION
$*RAT-OVERFLOW
$*TOLERANCE
Naming conventions
class int
Debugging
Core debugging features
The trace pragma
Dumper function (dd)
Using backtraces
Environment variables
Ecosystem debugging modules
Debugger::UI::CommandLine
Grammar::Debugger (and Grammar::Tracer in the same distribution)
Trait::Traced
Reading the docs
INTRODUCTION
SYNOPSIS
DESCRIPTION
LIMITATIONS
Environment variables used by the raku command line
Module loading
Error message verbosity and strictness
Affecting precompilation
Line editor
Other
WINDOWS PECULIARITIES
Non-console applications
AUTHORS
Running Raku
NAME
SYNOPSIS
DESCRIPTION
AUTHORS
class AST
class Allomorph
Methods
method ACCEPTS
method Bool
method chomp
method chop
method comb
method fc
method flip
method lc
method pred
method raku
method samecase
method samemark
method split
method Str
method subst
method subst-mutate
method substr
method substr-rw
method succ
method tc
method tclc
method trim
method trim-leading
method trim-trailing
method uc
method WHICH
Operators
infix cmp
infix eqv
class Any
Methods
method ACCEPTS
method any
method all
method one
method none
method list
method push
routine reverse
method sort
routine map
method deepmap
method duckmap
method nodemap
method flat
method eager
method elems
method end
method pairup
sub item
method Array
method List
method serial
method Hash
method hash
method Slip
method Map
method Seq
method Bag
method BagHash
method Set
method SetHash
method Mix
method MixHash
method Supply
routine min
routine max
routine minmax
method minpairs
method maxpairs
method keys
method flatmap
method roll
method iterator
method pick
method skip
method are
method prepend
method unshift
routine first
method unique
method repeated
method squish
method permutations
method join
routine categorize
routine classify
routine reduce
routine produce
method pairs
method antipairs
method invert
routine kv
method toggle
method head
method tail
method tree
method nl-out
method combinations
method grep
method append
method values
method collate
method cache
method batch
method rotor
method sum
class Array
Methods
method gist
method pop
method push
method append
method elems
method clone
method flat
method shift
routine unshift
routine prepend
routine splice
method shape
method default
method of
method dynamic
method List
method Slip
role Associative
Methods
method of
method keyof
Methods that classes mixing Associative should provide
method AT-KEY
method EXISTS-KEY
method STORE
See also
class Attribute
Traits
Trait is default
Trait is required
trait is DEPRECATED
trait is rw
trait is built
Methods
method name
method package
method has_accessor
method rw
method readonly
method required
method type
method get_value
method set_value
method gist
Optional introspection
DEPRECATED
class Backtrace
Methods
method new
method gist
method Str
method next-interesting-index
method outer-caller-idx
method nice
method full
method list
method summary
method concise
method map
method flat
class Backtrace::Frame
Methods
method file
method line
method code
method subname
method is-hidden
method is-routine
method is-setting
class Bag
Creating Bag objects
Operators
Subroutines
sub bag
Note on reverse and ordering
See also
class BagHash
Creating BagHash objects
Updating BagHash Objects
Operators
Note on reverse and ordering.
method add
method remove
See Also
role Baggy
Methods
method new-from-pairs
method grab
method grabpairs
method pick
method pickpairs
method roll
method pairs
method antipairs
method invert
method classify-list
method categorize-list
method keys
method values
method kv
method kxxv
method elems
method total
method default
method hash
method Bool
method Set
method SetHash
method ACCEPTS
See Also
role Blob
Methods
method new
method Bool
method Capture
method elems
method bytes
method chars
method Str
method Stringy
method decode
method list
method gist
method subbuf
method allocate
routine unpack
sub pack
method reverse
Methods on blob8 only (6.d, 2018.12 and later)
method read-uint8
method read-int8
method read-uint16
method read-int16
method read-uint32
method read-int32
method read-uint64
method read-int64
method read-uint128
method read-int128
method read-num32
method read-num64
Methods on blob8 only (6.d, 2019.03 and later)
method read-ubits
method read-bits
class Block
enum Bool
Methods
method ACCEPTS
routine succ
routine pred
routine enums
routine pick
routine roll
routine Int
routine Numeric
Operators
prefix ?
prefix so
role Buf
Methods
method subbuf-rw
routine subbuf-rw
method reallocate
method list
method push
method pop
method append
method prepend
method shift
method unshift
method splice
Methods on buf8 only (6.d, 2018.12 and later)
method write-uint8
method write-int8
method write-uint16
method write-int16
method write-uint32
method write-int32
method write-uint64
method write-int64
method write-uint128
method write-int128
method write-num32
method write-num64
Methods on buf8 only (6.d, 2019.03 and later)
method write-ubits
method write-bits
Methods on buf8 only (6.d, 2019.10 and later)
method write-uint8
method write-int8
method write-uint16
method write-int16
method write-uint32
method write-int32
method write-uint64
method write-int64
method write-uint128
method write-int128
method write-num32
method write-num64
method write-ubits
method write-bits
role CX::Done
Methods
method message
role CX::Emit
Methods
method message
role CX::Last
Methods
method message
role CX::Next
Methods
method message
role CX::Proceed
Methods
method message
role CX::Redo
Methods
method message
role CX::Return
Methods
method message
role CX::Succeed
Methods
method message
role CX::Take
Methods
method message
role CX::Warn
Methods
method new
class CallFrame
Methods
method code
method file
method line
method annotations
method my
Routines
sub callframe
role Callable
Methods
method CALL-ME
method Capture
class Cancellation
Methods
method cancel
class Capture
Methods
method list
method hash
method elems
method keys
method values
method kv
method pairs
method antipairs
method Bool
method Capture
method Numeric
class Channel
Methods
method send
method receive
method poll
method close
method list
method closed
method fail
method Capture
method Supply
sub await
class Code
Methods
method ACCEPTS
method arity
method assuming
method count
method of
method signature
method cando
method Str
method file
method line
method is-implementation-detail
class Collation
Methods
method set
method primary
method secondary
method tertiary
method quaternary
class CompUnit
Methods
method auth
method distribution
method from
method precompiled
method repo
method repo-id
method short-name
method version
role CompUnit::PrecompilationRepository
Methods
method new-unit
method load-unit
method load-repo-id
method store-file
method store-unit
method store-repo-id
method delete
method delete-by-compiler
role CompUnit::Repository
Methods
method resolve
method need
method load
method loaded
class CompUnit::Repository::FileSystem
Methods
method candidates
method files
method resolve
method need
method load
method loaded
method short-id
class CompUnit::Repository::Installation
Methods
method install
method uninstall
method candidates
method files
method resolve
method need
method load
method loaded
method short-id
class Compiler
Methods
method id
method release
method codename
method backend
method build-date
method verbose-config
class Complex
Operators
postfix i
Methods
method new
method re
method im
method reals
method isNaN
method polar
method floor
method ceiling
method round
method truncate
routine abs
method conj
method sqrt
method gist
method raku
method Real
sub infix:<**>
class ComplexStr
Methods
method new
method Capture
method Complex
method Numeric
method Real
Operators
infix ===
class Cool
Methods
routine abs
method conj
method EVAL
routine sqrt
method sign
method rand
routine sin
routine asin
routine cos
routine acos
routine tan
routine atan
routine atan2
routine sec
routine asec
routine cosec
routine acosec
routine cotan
routine acotan
routine sinh
routine asinh
routine cosh
routine acosh
routine tanh
routine atanh
routine sech
routine asech
routine cosech
routine acosech
routine cotanh
routine acotanh
routine cis
routine log
routine log10
routine log2
routine exp
method unpolar
routine round
routine floor
method fmt
routine ceiling
routine truncate
routine ord
method path
routine chr
routine chars
routine codes
routine flip
routine trim
routine trim-leading
routine trim-trailing
routine lc
routine uc
routine fc
routine tc
routine tclc
routine wordcase
routine samecase
routine uniprop
sub uniprops
routine uniname
routine uninames
routine unimatch
routine chop
routine chomp
routine substr
routine substr-rw
routine ords
routine chrs
routine split
routine lines
method words
routine comb
method contains
routine index
routine rindex
method match
routine roots
method subst
method trans
method IO
method sprintf
method printf
method Complex
method FatRat
method Int
method Num
method Rat
method Real
method UInt
class CurrentThreadScheduler
class Date
Methods
method new
method new-from-daycount
method last-date-in-month
method first-date-in-month
method clone
method today
method truncated-to
method succ
method pred
method Str
method gist
method Date
method DateTime
Functions
sub sleep
sub sleep-timer
sub sleep-until
sub infix:<->
sub infix:<+>
class DateTime
Methods
method new
method now
method clone
method hh-mm-ss
method hour
method minute
method second
method whole-second
method timezone
method offset
method offset-in-minutes
method offset-in-hours
method Str
method Instant
method day-fraction
method julian-date
method modified-julian-date
method posix
method truncated-to
method Date
method DateTime
method utc
method in-timezone
method local
sub infix:<->
sub infix:<+>
sub infix:«<=>»
sub infix:
sub infix:«<»
sub infix:«>»
sub infix:«<=»
sub infix:«>=»
sub infix:«==»
sub infix:«!=»
role Dateish
Methods
method year
method month
method day
method formatter
method is-leap-year
method day-of-month
method day-of-week
method day-of-year
method days-in-month
method week
method week-number
method week-year
method weekday-of-month
method yyyy-mm-dd
method mm-dd-yyyy
method dd-mm-yyyy
method daycount
method IO
method earlier
method later
role Distribution
Required Methods
method meta
method content
class Distribution::Hash
Methods
method new
method meta
method content
class Distribution::Locally
Methods
method prefix
method content
class Distribution::Path
Methods
method new
method meta
method content
class Distribution::Resource
Methods
method IO
class Distro
Methods
method is-win
method path-sep
method release
class Duration
role Encoding
Methods
method name
method alternative-names
method decoder
method encoder
class Encoding::Registry
Methods
method name
method find
enum Endian
Methods
routine Numeric
role Enumeration
Methods
method key
method value
method enums
method kv
method pair
method CALL-ME
method pick
method roll
method pred
method succ
method Numeric
method Int
method Real
method ===
class Exception
Methods
method message
method backtrace
method throw
method resume
method rethrow
routine fail
method gist
routine die
sub warn
class Failure
Methods
method new
method handled
method exception
method self
method Bool
method Capture
method defined
method list
sub fail
class FatRat
Methods
method raku
class ForeignCode
Methods
method arity
method count
method signature
method name
method gist
method Str
class Grammar
Methods
method parse
method subparse
method parsefile
class Hash
Methods
method classify-list
Simple classification
Multi-level classification
:&as value modifier
method categorize-list
Simple categorization
Multi-level categorization
:&as value modifier
method push
method append
method default
method keyof
method of
routine dynamic
Subscript Adverbs
:exists
:delete
:p
:v and :k
class HyperSeq
Methods
method iterator
method grep
method map
method invert
method hyper
method race
method serial
method is-lazy
method sink
class HyperWhatever
Standalone term
Currying
role IO
class IO::ArgFiles
Variables
$*ARGFILES
class IO::CatHandle
Methods
method new
method chomp
method nl-in
method close
method comb
method DESTROY
method encoding
method eof
method get
method getc
method handles
method IO
method lines
method lock
method native-descriptor
method next-handle
method on-switch
method open
method opened
method path
method read
method readchars
method seek
method tell
method slurp
method split
method Str
method Supply
method t
method unlock
method words
NYI Methods
method flush
method nl-out
method out-buffer
method print
method printf
method print-nl
method put
method say
method write
method WRITE
method READ
method EOF
class IO::Handle
Methods
method open
method comb
method chomp
routine get
routine getc
Buffering terminals
Waiting for potential combiners
submethod DESTROY
method gist
method eof
method encoding
utf16, utf16le and utf16be
Examples
routine lines
method lock
method unlock
routine words
method split
method spurt
method print
method print-nl
method printf
method out-buffer
method put
method say
method read
method readchars
method write
method seek
method tell
method slurp-rest
method slurp
method Supply
method path
method IO
method Str
routine close
method flush
method native-descriptor
method nl-in
method nl-out
method opened
method t
Creating Custom Handles
method WRITE
method READ
method EOF
Related roles and classes
class IO::Notification
Methods
method watch-path
class IO::Notification::Change
Methods
method path
method event
method IO
method gist
class IO::Path
Methods
method new
attribute CWD
attribute SPEC
attribute path
method ACCEPTS
method basename
method add
method child
method cleanup
method comb
method split
method extension
method dirname
method volume
method parts
method raku
method gist
method Str
method succ
method open
method pred
method watch
method is-absolute
method is-relative
method absolute
method relative
method parent
method resolve
routine dir
File test operators
method e
method d
method f
method s
method l
method r
method w
method rw
method x
method rwx
method z
method sibling
method words
method lines
routine slurp
method spurt
method chdir
method mkdir
routine rmdir
method chmod
routine rename
routine copy
routine move
method Numeric
method Int
routine symlink
routine link
routine unlink
method IO
method SPEC
File timestamp retrieval
method modified
method accessed
method changed
File permissions retrieval
method mode
class IO::Path::Cygwin
Methods
method new
method raku
class IO::Path::Parts
Methods
method new
attribute volume
attribute dirname
attribute basename
Previous implementations
class IO::Path::QNX
Methods
method new
method raku
class IO::Path::Unix
Methods
method new
method raku
class IO::Path::Win32
Methods
method new
method raku
class IO::Pipe
Methods
method close
method IO
method path
method proc
role IO::Socket
Methods
method recv
method read
routine get
method print
method write
method put
method close
method native-descriptor
class IO::Socket::Async
Methods
method connect
method listen
method udp
method bind-udp
method print
method print-to
method write
method write-to
method Supply
method close
method socket-host
method peer-host
method socket-port
method peer-port
method native-descriptor
class IO::Socket::Async::ListenSocket
Methods
method socket-host
method socket-port
method native-descriptor
class IO::Socket::INET
Methods
method new
Methods
method get
method lines
method accept
class IO::Spec
About sub-classes IO::Spec::*
Methods
class IO::Spec::Cygwin
Methods
method abs2rel
method canonpath
method catdir
method catpath
method is-absolute
method join
method rel2abs
method split
method splitpath
method tmpdir
class IO::Spec::QNX
Methods
method canonpath
class IO::Spec::Unix
Methods
method abs2rel
method basename
method canonpath
method catdir
method catfile
method catpath
method curdir
method curupdir
method devnull
method dir-sep
method extension
method is-absolute
method join
method path
method rel2abs
method rootdir
method split
method splitdir
method splitpath
method tmpdir
method updir
class IO::Spec::Win32
Methods
method basename
method canonpath
method catdir
method catfile
method catpath
method devnull
method dir-sep
method is-absolute
method join
method path
method rel2abs
method rootdir
method split
method splitdir
method splitpath
method tmpdir
class IO::Special
Methods
method new
method what
method WHICH
method Str
method IO
method e
method d
method f
method s
method l
method r
method w
method x
method modified
method accessed
method changed
method mode
class Instant
Future Leap Seconds
Methods
method from-posix
method to-posix
method Date
method DateTime
class Int
Methods
method new
method Capture
routine chr
routine expmod
method polymod
routine is-prime
routine lsb
routine msb
routine unival
method Range
method Bridge
Operators
infix div
class IntStr
Methods
method new
method Int
method Numeric
method Real
Operators
infix ===
role Iterable
Methods
method iterator
method flat
method lazy
method hyper
Options degree and batch
method race
role Iterator
IterationEnd
Methods
method pull-one
method push-exactly
method push-at-least
method push-all
method push-until-lazy
method is-deterministic
method is-lazy
method sink-all
method skip-one
method skip-at-least
method skip-at-least-pull-one
Predictive iterators
class Junction
Failures and exceptions
Smartmatching
Methods
method new
method defined
method Bool
method Str
method iterator
method gist
method raku
infix ~
See Also
class Kernel
Methods
method arch
method archname
method bits
method cpu-cores
method cpu-usage
method free-memory
method total-memory
method endian
method hardware
method hostname
method release
method signal
method signals
class Label
Methods
method name
method file
method line
method Str
method next
method redo
method last
class List
Immutability
Items, flattening and sigils
Methods
method ACCEPTS
routine list
routine elems
routine end
routine keys
routine values
routine kv
routine pairs
routine antipairs
routine invert
routine join
routine map
method flatmap
method gist
routine grep
routine first
method head
method tail
routine categorize
routine classify
method Bool
method Str
method Int
method Numeric
method Capture
routine pick
routine roll
routine eager
routine reverse
routine rotate
routine sort
routine reduce
routine produce
routine combinations
routine permutations
method rotor
method batch
routine cross
routine zip
routine roundrobin
routine sum
method fmt
method from
method to
method sink
method Set
Operators
infix cmp
class Lock
Methods
method protect
method lock
method unlock
method condition
class Lock::Async
Methods
method lock
method unlock
method protect
method protect-or-queue-on-recursion
method with-lock-hidden-from-recursion-check
class Lock::ConditionVariable
Methods
method wait
method signal
class Macro
class Map
Methods
method new
method elems
method ACCEPTS
method gist
method keys
method values
method pairs
method antipairs
method invert
method kv
method list
method sort
method Int
method Numeric
method Bool
method Capture
class Match
Methods
method pos
method target
method chars
method clone
method orig
method from
method to
method made
routine make
method actions
method ast
method Bool
method Str
method Int
method caps
method chunks
method list
method hash
method prematch
method postmatch
method replace-with
infix eqv
role Metamodel::AttributeContainer
Methods
method add_attribute
method attributes
method set_rw
method rw
role Metamodel::C3MRO
Methods
method compute_mro
method mro
method mro_unhidden
class Metamodel::ClassHOW
Methods
method add_fallback
method can
method lookup
method compose
method new_type
role Metamodel::ConcreteRoleHOW
role Metamodel::CurriedRoleHOW
class Metamodel::DefiniteHOW
Methods
method new_type
method name
method shortname
method base_type
method definite
method nominalize
method find_method
method type_check
method accepts_type
role Metamodel::Documenting
Methods
method set_why
method WHY
class Metamodel::EnumHOW
Methods
method new_type
method add_parent
method set_export_callback
method export_callback
method compose
method is_composed
method compose_values
method set_composalizer
method composalizer
method add_enum_value
method enum_values
method elems
method enum_from_value
method enum_value_list
role Metamodel::Finalization
Methods
method setup_finalization
method destroyers
role Metamodel::MROBasedMethodDispatch
Methods
method find_method
method find_method_qualified
method can
method publish_method_cache
role Metamodel::MethodContainer
Methods
method add_method
method methods
method method_table
method lookup
role Metamodel::Mixins
Methods
method set_is_mixin
method is_mixin
method set_mixin_attribute
method mixin_attribute
method setup_mixin_cache
method flush_cache
method generate_mixin
method mixin
role Metamodel::MultipleInheritance
Methods
method add_parent
method parents
method hides
method hidden
method set_hidden
role Metamodel::Naming
Methods
method name
method set_name
class Metamodel::PackageHOW
Methods
method archetypes
method new
method new_type
compose
is_composed
role Metamodel::ParametricRoleGroupHOW
role Metamodel::ParametricRoleHOW
class Metamodel::Primitives
Methods
method create_type
method set_package
method install_method_cache
method configure_type_checking
method configure_destroy
method compose_type
method rebless
method is_type
method set_parameterizer
method parameterize_type
method type_parameterized
method type_parameters
method type_parameter_at
role Metamodel::PrivateMethodContainer
Methods
method add_private_method
method private_method_table
method private_methods
method private_method_names
method find_private_method
role Metamodel::RoleContainer
Methods
method add_role
method roles_to_compose
role Metamodel::RolePunning
role Metamodel::Stashing
Methods
method add_stash
role Metamodel::Trusting
Methods
method add_trustee
method trusts
method is_trusted
role Metamodel::Versioning
Methods
method ver
method auth
method api
method set_ver
method set_auth
method set_api
class Method
class Mix
Creating Mix objects
Operators
sub mix
Methods
method Bag
method BagHash
method reverse
method total
Note on order
See Also
class MixHash
Creating MixHash objects
Operators
Note on reverse and ordering.
Methods
method Bag
method BagHash
See Also
role Mixy
Methods
method roll
method pick
method grab
method kxxv
See Also
class Mu
Methods
method iterator
method defined
routine defined
routine isa
routine does
routine Bool
method Capture
method Str
routine gist
method perl
method raku
method item
method self
method clone
method new
method bless
method CREATE
method print
method put
method say
method ACCEPTS
method WHICH
method WHERE
method WHY
trait is export
method return
method return-rw
method emit
method take
routine take
routine take-rw
method so
method not
class NFC
class NFD
class NFKC
class NFKD
class Nil
Methods
method append
method gist
method Str
method new
method prepend
method push
method unshift
method ords
method chrs
method FALLBACK
method Numeric
class Num
Inf
NaN
method new
method rand
sub srand
method Capture
method Int
method Rat
method FatRat
method Num
method Str
method Bridge
class NumStr
Methods
method new
method Num
method Numeric
method Real
Operators
infix ===
role Numeric
Methods
method Numeric
method narrow
method ACCEPTS
routine log
routine log10
routine log2
routine exp
method roots
routine abs
routine sqrt
method conj
method Bool
method succ
method pred
class ObjAt
Methods
infix eqv
enum Order
Operators
infix cmp
infix <=>
class Pair
Methods
method new
method ACCEPTS
method antipair
method key
method value
infix cmp
method fmt
method kv
method pairs
method antipairs
method invert
method keys
method values
method freeze
method Str
method Pair
class Parameter
Methods
method name
method usage-name
method sigil
method type
method coerce_type
method constraints
method named
method named_names
method positional
method slurpy
method twigil
method optional
method raw
method capture
method rw
method copy
method readonly
method invocant
method default
method type_captures
method sub_signature
method prefix
method suffix
Runtime creation of Parameter objects (6.d, 2019.03 and later)
class Perl
class Pod::Block
Methods
method contents
method config
class Pod::Block::Code
class Pod::Block::Comment
class Pod::Block::Declarator
Methods
method leading
method trailing
method WHEREFORE
class Pod::Block::Named
Methods
method name
class Pod::Block::Para
class Pod::Block::Table
Methods
method caption
method headers
class Pod::Defn
Methods
method term
class Pod::FormattingCode
Methods
method type
method meta
class Pod::Heading
Methods
method level
class Pod::Item
Methods
method level
role Positional
Methods
method of
Methods that should be provided by classes that mix in this role
method elems
method AT-POS
method EXISTS-POS
method STORE
See also
role PositionalBindFailover
Methods
method cache
method list
method iterator
role PredictiveIterator
Methods
method count-only
method bool-only
class Proc
Potential Deadlocks
Methods
routine new
method sink
method spawn
method shell
method command
method Bool
method pid
method exitcode
method signal
class Proc::Async
Methods
method new
method stdout
method stderr
method bind-stdin
method bind-stdout
method bind-stderr
method w
method start
method started
method ready
method pid
method path
method args
method command
method write
method print
method put
method say
method Supply
method close-stdin
method kill
class Promise
Methods
method start
method in
method at
method kept
method broken
method allof
method anyof
method then
method keep
method break
method result
method cause
method Bool
method status
method scheduler
method vow
method Supply
sub await
class Proxy
Methods
method new
class PseudoStash
role QuantHash
Methods
method hash
method Hash
method of
method keyof
method Capture
method list
method Setty
method Baggy
method Mixy
class RaceSeq
Methods
method iterator
method grep
method map
method invert
method race
method hyper
method serial
method is-lazy
method sink
class Raku
Methods
method compiler
method DISTROnames
method KERNELnames
method VMnames
See Also
class Range
Ranges in subscripts
Shifting and scaling intervals
Matching against Ranges
Methods
method ACCEPTS
method min
method excludes-min
method max
method excludes-max
method bounds
method infinite
method is-int
method int-bounds
method minmax
method elems
method list
method flat
method pick
method roll
method sum
method reverse
method Capture
method rand
method EXISTS-POS
method AT-POS
method raku
method fmt
method WHICH
sub infix:<+>
sub infix:<->
sub infix:<*>
sub infix:>
sub infix:
class Rat
Methods
method raku
class RatStr
Methods
method new
method Capture
method Numeric
method Rat
method Real
Operators
infix ===
role Rational
Methods
method new
method Bool
method Bridge
method Int
method Num
method ceiling
method floor
method isNaN
method numerator
method denominator
method nude
method norm
method base-repeating
method Range
role Real
Methods
method Bridge
method Complex
method Int
method Rat
method Real
method Str
method Num
routine rand
method sign
method round
method floor
method ceiling
method truncate
method polymod
method base
class Regex
Methods
method ACCEPTS
method Bool
class Routine
Methods
method name
method package
method multi
method candidates
method cando
method wrap
method unwrap
method is-wrapped
method yada
trait is cached
trait is pure
trait is rw
trait is export
trait is DEPRECATED
trait is hidden-from-backtrace
trait is default
trait is raw
trait is test-assertion
class Routine::WrapHandle
Methods
method restore
class Scalar
Atomic operations on Scalar
Introspection
method of
method default
method name
method dynamic
Routines
sub atomic-assign
sub atomic-fetch
sub cas
Operators
infix ⚛=
prefix ⚛
role Scheduler
Methods
method uncaught_handler
method cue
method loads
class Semaphore
Methods
method new
method acquire
method try_acquire
method release
class Seq
Methods
method new
method iterator
method is-lazy
method Seq
method Capture
method elems
method from-loop
method sink
method skip
role Sequence
Methods
method Str
method Stringy
method Numeric
method AT-POS
method EXISTS-POS
method eager
method fmt
method gist
class Set
Creating Set objects
Operators
Subroutines
sub set
See Also
class SetHash
Creating SetHash objects
Operators
Methods
method set
method unset
See Also
role Setty
Methods
method new-from-pairs
method grab
method grabpairs
method pick
method pickpairs
method roll
method antipairs
method keys
method values
method kv
method elems
method total
method minpairs
method maxpairs
method default
method ACCEPTS
method Bag
method BagHash
method Bool
method Mix
method MixHash
See Also
class Signature
Signature literals
Parameter separators
Type constraints
Constraining optional arguments
Constraining slurpy arguments
Constraining named arguments
Constraining argument definiteness
Constraining signatures of Callables
Constraining return types
Return type arrow: -->
returns
of
prefix(C-like) form
Coercion type
Slurpy parameters
Types of slurpy array parameters
Flattened slurpy
Unflattened slurpy
Single argument rule slurpy
Type captures
Positional vs. named arguments
Argument aliases
Optional and mandatory arguments
Dynamic variables
Destructuring arguments
Sub-signatures
Long names
Capture parameters
Parameter traits and modifiers
Methods
method params
method arity
method count
method returns
method ACCEPTS
method Capture
Runtime creation of Signature objects (6.d, 2019.03 and later)
class Slip
Methods
method List
sub slip
Constants
constant Empty
class Stash
class Str
Methods
routine chop
routine chomp
method contains
routine lc
routine uc
routine fc
routine tc
routine tclc
routine wordcase
method unival
method univals
routine chars
method encode
method index
routine rindex
method indices
method match
method Numeric
method Num
method Int
method Rat
method Bool
routine parse-base
routine parse-names
routine uniparse
method samecase
routine split
routine comb
routine lines
routine words
routine flip
method starts-with
method ends-with
method subst
Literal replacement substitution
Callable
Adverbs
More Examples
method subst-mutate
routine substr
method substr-eq
method substr-rw
routine samemark
method succ
method pred
routine ord
method ords
method trans
method indent
method trim
method trim-trailing
method trim-leading
method NFC
method NFD
method NFKC
method NFKD
method ACCEPTS
method Capture
routine val
method Version
method Date
method DateTime
class StrDistance
Methods
method before
method after
method Bool
method Numeric
method Int
method Str
role Stringy
class Sub
Operators
Traits
class Submethod
Methods
method gist
class Supplier
Methods
method new
method Supply
method emit
method done
method quit
class Supplier::Preserving
Methods
method new
class Supply
Methods that return Taps
method tap
method act
Utility methods
method Capture
method Channel
method Promise
method live
method schedule-on
Methods that wait until the supply is done
method wait
method list
method Seq
method grab
method reverse
method sort
method collate
method reduce
Methods that return another Supply
method from-list
method share
method flat
method do
method on-close
method interval
method grep
method map
method batch
method elems
method head
method tail
method first
method split
method rotate
method rotor
method delayed
method throttle
control messages
status message
Examples
method stable
method produce
method lines
method words
method unique
method repeated
method squish
method max
method min
method minmax
method skip
method start
method migrate
Methods that combine supplies
method merge
method zip
method zip-latest
I/O features exposed as supplies
sub signal
method IO::Notification.watch-path
role Systemic
Methods
method auth
method config
method desc
method name
method signature
method version
method gist
method Str
class Tap
Methods
method close
class Telemetry
routine T
routine snap
routine snapper
routine periods
routine report
module snapper
class Telemetry::Instrument::Thread
class Telemetry::Instrument::ThreadPool
class Telemetry::Instrument::Usage
Useful readings
Head
class Telemetry::Period
class Telemetry::Sampler
method new
method set-instruments
module Test
Methods
sub plan
sub done-testing
sub ok
sub nok
sub is
sub isnt
sub is_approx
sub is-approx
Absolute tolerance
Relative tolerance
Both absolute and relative tolerance specified
sub is-approx-calculate
sub is-deeply
sub cmp-ok
sub isa-ok
sub can-ok
sub does-ok
sub like
sub unlike
sub use-ok
sub dies-ok
sub lives-ok
sub eval-dies-ok
sub eval-lives-ok
sub throws-like
sub fails-like
sub subtest
sub todo
sub skip
sub skip-rest
sub bail-out
sub pass
sub flunk
sub diag
class Thread
Methods
method new
method start
method run
method id
method finish
method join
method yield
method app_lifetime
method name
method Numeric
method Str
method is-initial-thread
Routines
sub full-barrier
class ThreadPoolScheduler
Methods
new
Subset UInt
class Uni
Methods
method new
method list
method NFC
method NFD
method NFKC
method NFKD
method codes
method elems
class VM
Methods
method osname
method precomp-ext
method precomp-target
method prefix
class ValueObjAt
class Variable
Traits
trait is default
trait is dynamic
trait of
Methods
method name
class Version
Methods
method new
method parts
method plus
method Str
method gist
method Capture
class Whatever
Methods
method ACCEPTS
method Capture
class WhateverCode
class X::AdHoc
Methods
method payload
method Numeric
method from-slurpy
class X::Anon::Augment
Methods
method package-kind
class X::Anon::Multi
Methods
method multiness
method routine-type
class X::Assignment::RO
Methods
method typename
class X::Attribute::NoPackage
Methods
method name
class X::Attribute::Package
Methods
method name
method package-kind
class X::Attribute::Required
Methods
method name
method why
class X::Attribute::Undeclared
Methods
method package-kind
method package-name
class X::Augment::NoSuchType
Methods
method package-kind
method package
class X::Bind
class X::Bind::NativeType
Methods
method name
class X::Bind::Slice
Methods
method type
class X::Caller::NotDynamic
Methods
method symbol
class X::Cannot::Empty
Methods
method action
method what
class X::Cannot::Lazy
Methods
method action
method what
class X::Channel::ReceiveOnClosed
Methods
method channel
class X::Channel::SendOnClosed
Methods
method channel
role X::Comp
Methods
method filename
method line
method column
class X::Composition::NotComposable
Methods
method target-name
method composer
class X::Constructor::Positional
role X::Control
class X::ControlFlow
Methods
method illegal
method enclosing
class X::ControlFlow::Return
class X::DateTime::TimezoneClash
Methods
method message
class X::Declaration::Scope
Methods
method scope
method declaration
class X::Declaration::Scope::Multi
class X::Does::TypeObject
Methods
method type
class X::Dynamic::NotFound
Methods
method name
class X::Eval::NoSuchLang
Methods
method lang
class X::Export::NameClash
Methods
method symbol
role X::IO
class X::IO::Chdir
Methods
method path
class X::IO::Chmod
class X::IO::Copy
Methods
method from
method to
class X::IO::Cwd
class X::IO::Dir
Methods
method path
class X::IO::DoesNotExist
Methods
method path
method trying
class X::IO::Link
Methods
method target
method name
class X::IO::Mkdir
Methods
method path
method mode
class X::IO::Move
Methods
method from
method to
class X::IO::Rename
Methods
method from
method to
class X::IO::Rmdir
Methods
method path
class X::IO::Symlink
Methods
method name
method target
class X::IO::Unlink
Methods
method path
class X::Inheritance::NotComposed
Methods
method child-name
method parent-name
class X::Inheritance::Unsupported
Methods
method child-typename
method parent
class X::Method::InvalidQualifier
Methods
method method
method invocant
method qualifier-type
class X::Method::NotFound
Methods
method method
method typename
method private
method addendum
class X::Method::Private::Permission
Methods
method method
method source-package
method calling-package
class X::Method::Private::Unqualified
Methods
method method
class X::Mixin::NotComposable
Methods
method target
method rolish
class X::NYI
Methods
method new
method feature
method did-you-mean
method workaround
method message
class X::NoDispatcher
Methods
method redispatcher
class X::Numeric::Real
Methods
method source
method target
method reason
role X::OS
Methods
method os-error
class X::Obsolete
Methods
method old
method replacement
method when
class X::OutOfRange
Methods
method what
method got
method range
method comment
class X::Package::Stubbed
Methods
method packages
class X::Parameter::Default
Methods
method how
method parameter
class X::Parameter::MultipleTypeConstraints
Methods
method parameter
class X::Parameter::Placeholder
Methods
method parameter
method right
class X::Parameter::Twigil
Methods
method parameter
method twigil
class X::Parameter::WrongOrder
Methods
method misplaced
method parameter
method after
class X::Phaser::Multiple
Methods
method block
class X::Phaser::PrePost
Methods
method phaser
method condition
class X::Placeholder::Block
Methods
method placeholder
class X::Placeholder::Mainline
role X::Pod
role X::Proc::Async
Methods
method proc
class X::Proc::Async::AlreadyStarted
class X::Proc::Async::BindOrUse
class X::Proc::Async::CharsOrBytes
Methods
method handle
class X::Proc::Async::MustBeStarted
Methods
method method
class X::Proc::Async::OpenForWriting
Methods
method method
class X::Proc::Async::TapBeforeSpawn
Methods
method handle
class X::Proc::Unsuccessful
Methods
method proc
class X::Promise::CauseOnlyValidOnBroken
Methods
method promise
method status
class X::Promise::Vowed
Methods
method promise
class X::Redeclaration
Methods
method symbol
method what
method postfix
class X::Role::Initialization
Methods
method role
class X::Scheduler::CueInNaNSeconds
class X::Seq::Consumed
class X::Sequence::Deduction
class X::Signature::NameClash
Methods
method name
class X::Signature::Placeholder
Methods
method placeholder
class X::Str::Numeric
Methods
method source
method pos
method reason
class X::StubCode
Methods
method message
role X::Syntax
class X::Syntax::Augment::WithoutMonkeyTyping
class X::Syntax::Comment::Embedded
class X::Syntax::Confused
class X::Syntax::InfixInTermPosition
Methods
method infix
class X::Syntax::Malformed
Methods
method what
class X::Syntax::Missing
Methods
method what
class X::Syntax::NegatedPair
Methods
method key
class X::Syntax::NoSelf
Methods
method variable
class X::Syntax::Number::RadixOutOfRange
Methods
method radix
class X::Syntax::P5
class X::Syntax::Perl5Var
class X::Syntax::Regex::Adverb
Methods
method adverb
method construct
class X::Syntax::Regex::SolitaryQuantifier
class X::Syntax::Reserved
Methods
method reserved
method instead
class X::Syntax::Self::WithoutObject
class X::Syntax::Signature::InvocantMarker
class X::Syntax::Term::MissingInitializer
class X::Syntax::UnlessElse
class X::Syntax::Variable::Match
class X::Syntax::Variable::Numeric
Methods
method what
class X::Syntax::Variable::Twigil
Methods
method twigil
method scope
role X::Temporal
class X::Temporal::InvalidFormat
Methods
method invalid-str
method target
method format
class X::TypeCheck
Methods
method operation
method got
method expected
class X::TypeCheck::Assignment
class X::TypeCheck::Binding
class X::TypeCheck::Return
class X::TypeCheck::Splice
Methods
method action
class X::Undeclared
Methods
method symbol
method what
class atomicint
Routines
sub atomic-assign
sub atomic-fetch
sub atomic-fetch-inc
sub atomic-fetch-dec
sub atomic-fetch-add
sub atomic-fetch-sub
sub atomic-inc-fetch
sub atomic-dec-fetch
sub cas
Operators
infix ⚛=
prefix ⚛
prefix ++⚛
postfix ⚛++
prefix --⚛
postfix ⚛--
infix ⚛+=
infix ⚛-=
infix ⚛−=
Independent routines
routine EVAL
sub EVALFILE
sub repl Note: repl was introduced in release 2021.06 of the Rakudo compiler.
sub get
sub getc
sub mkdir
sub chdir
sub &*chdir
sub chmod
sub indir
sub print
sub put
sub say
routine note
sub prompt
sub open
sub slurp
sub spurt
Options
Examples
sub run
sub shell
routine unpolar
routine printf
routine sprintf
Directives
Modifiers
NYI Format parameter index using the '$' symbol
Without index:
NYI With index:
Flags
Vector flag 'v'
Width (minimum)
Precision, or maximum width
Size
Order of arguments
sub flat
routine unique
routine repeated
routine squish
sub emit
sub undefine
Array manipulation
sub pop
sub shift
sub push
sub append
Control routines
sub exit
sub done
sub lastcall
class utf8