Table of Contents for the Website
Web page
Chapter headings
language/101-basics
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
language/5to6-nutshell
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
language/5to6-overview
Perl to Raku guide - overview
Raku in a nutshell
Syntactic differences
Operators in Raku
Functions in Raku
Special variables in Raku
language/5to6-perlfunc
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///
language/5to6-perlop
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
language/5to6-perlsyn
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
language/5to6-perlvar
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}
language/about
About the docs
Structure
Generating HTML from Pod
Contributing
Adding definitions
language/classtut
Classes and objects
Starting with class
State
Static fields?
Methods
Private methods
Constructors
Consuming our class
Inheritance
Overriding inherited methods
Multiple inheritance
The also declarator
Introspection
Overriding default gist method
language/community
Community
Overview
The Raku community
Online communities
IRC bots
Offline communities
Other resources
Rakudo Weekly
Raku Advent calendar
language/compilation
CompUnits and where to find them
Overview
Introduction
Why change?
Long names
$*REPO
Repositories
Resources
Dependencies
Precomp stores
Credit
language/concurrency
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
language/containers
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
language/contexts
Contexts and contextualizers
Sink
Number
String
Boolean
List
Item context
language/control
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
quietly
LABELs
next
last
redo
language/create-cli
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)
language/enumeration
Enumeration
language/exceptions
Exceptions
Ad hoc exceptions
Typed exceptions
Catching exceptions
Exception handlers and enclosing blocks
try blocks
Throwing exceptions
Resuming of exceptions
Uncaught exceptions
Control exceptions
language/experimental
Experimental features
pack
macros
cached
language/faq
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 CPAN (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?
language/functions
Functions
Defining/Creating/Using functions
Subroutines
Blocks and lambdas
Signatures
Automatic signatures
Arguments
Return values
Return type constraints
Multi-dispatch
proto
only
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
language/glossary
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
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
rule
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
language/grammar_tutorial
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
language/grammars
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
language/hashmap
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
language/haskell-to-p6
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
Map
Ranges
Laziness vs eagerness
Contexts (let-in / where)
Parsers
Parser combinators vs grammars
Tail Call Optimization or Tail Call Elimination
language/intro
Brief introduction
language/io
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
language/io-guide
Input/Output the definitive guide
The basics
Navigating paths
What's an IO::Path anyway?
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
language/ipc
Inter-process communication
Running programs
The Proc object
The Proc::Async object
language/iterating
Iterating
The Iterator and Iterable roles
How to iterate: contextualizing and topic variables
Classic loops and why we do not like them
language/js-nutshell
JavaScript (Node.js) to Raku - nutshell
Basic syntax
"Hello, world!"
Variables
Operators
Assignment
Equality
Smartmatching
Numeric
Bitwise
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
language/list
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
language/math
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
language/module-packages
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
language/modules
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
Upload your module to p6c
Modules and tools related to module authoring
Contact information
language/modules-core
Core modules
CompUnit::* modules and roles
NativeCall modules
Other modules
language/modules-extra
Module development utilities
Module builder and authoring tools
Tests
NativeCall
Sample modules
language/mop
Metaobject protocol (MOP)
Metamethods
WHAT
WHICH
WHO
WHERE
HOW
WHY
DEFINITE
VAR
Structure of the metaobject system
Bootstrapping concerns
Composition time and static reasoning
Power and responsibility
Power, convenience and pitfalls
language/nativecall
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
language/nativetypes
Raku native types
Types with native representation
Types with native representation and size
The void type
Atomic types
Rakudo specific native types
language/newline
Newline handling in Raku
language/numerics
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
language/objects
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
language/opener-chars
Opener graphemes
language/operators
Operators
Operator precedence
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 eq
infix ne
infix gt
infix ge
infix lt
infix le
infix before
infix after
infix eqv
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
language/optut
Creating operators
language/packages
Packages
Names
Package-qualified names
Pseudo-packages
Looking up names
Interpolating into names
Direct lookup
Package lookup
Class member lookup
Globals
language/performance
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?
language/phasers
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
language/pod
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
language/pragmas
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
language/py-nutshell
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
language/quoting
Quoting constructs
The Q lang
Literal strings: Q
Escaping: q
Interpolation: qq
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
language/rb-nutshell
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
language/regexes
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
Continue
Exhaustive
Global
Pos
Overlap
Substitution adverbs
Samecase
Samemark
Samespace
Backtracking
$/ changes each time a regular expression is matched
Best practices and gotchas
language/regexes-best-practices
Regexes: best practices and gotchas
Code layout
Keep it small
What to match
Matching whitespace
language/setbagmix
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 ∅
language/statement-prefixes
Statement prefixes
lazy
eager
hyper, race
quietly
try
do
sink
once
gather
start
react
supply
language/structures
Data structures
Scalar structures
Complex data structures
Functional structures
Defining and constraining data structures
Infinite structures and laziness
Introspection
language/subscripts
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
language/syntax
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
language/system
System interaction
Getting arguments through the command line
Getting arguments interactively
Running programs synchronously and asynchronously
Making operating system calls through the native API
language/tables
Pod6 tables
Restrictions
Best practices
Good tables
Bad tables
Ugly tables
language/temporal
Date and time functions
language/terms
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
language/testing
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
language/traits
Traits
The is trait
is applied to classes.
is repr and native representations.
is on routines
is implementation-detail trait
method is-implementation-detail
language/traps
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
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
language/typesystem
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.
language/unicode
Unicode
Filehandles and I/O
Normalization
UTF8-C8
Entering unicode codepoints and codepoint sequences
Name aliases
Named sequences
Emoji sequences
language/unicode_ascii
Unicode versus ASCII symbols
Alphabetic characters
Numeric characters
Numeric values
Whitespace characters
Other acceptable single codepoints
Atomic operators
Multiple codepoints
language/unicode_entry
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
language/variables
Variables
Sigils
Item and list assignment
Sigilless variables
Twigils
The * twigil
The ? twigil
The ! twigil
The . twigil
The ^ twigil
The : twigil
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
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
$*USAGE
Runtime variables
$*COLLATION
$*TOLERANCE
$*DEFAULT-READ-ELEMS
Naming conventions
native/int
class int
programs/01-debugging
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
programs/02-reading-docs
Reading the docs
INTRODUCTION
SYNOPSIS
DESCRIPTION
LIMITATIONS
programs/03-environment-variables
Running Rakudo
NAME
SYNOPSIS
DESCRIPTION
ENVIRONMENT VARIABLES
Module loading
Error message verbosity and strictness
Affecting precompilation
Line editor
Other
WINDOWS PECULIARITIES
Non-console applications
AUTHORS
type/AST
class AST
type/Any
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 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 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
type/Array
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
type/Associative
role Associative
Methods
method of
method keyof
Methods that classes mixing Associative should provide
method AT-KEY
method EXISTS-KEY
method STORE
See also
type/Attribute
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
type/Backtrace
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
type/Backtrace/Frame
class Backtrace::Frame
Methods
method file
method line
method code
method subname
method is-hidden
method is-routine
method is-setting
type/Bag
class Bag
Creating Bag objects
Operators
Subroutines
sub bag
Note on reverse and ordering
See also
type/BagHash
class BagHash
Creating BagHash objects
Updating BagHash Objects
Operators
Note on reverse and ordering.
method add
method remove
See Also
type/Baggy
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
type/Blob
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
method 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
type/Block
class Block
type/Bool
enum Bool
Methods
method ACCEPTS
routine succ
routine pred
routine enums
routine pick
routine roll
routine Int
routine Numeric
Operators
prefix ?
prefix so
type/Buf
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
type/CX/Done
role CX::Done
Methods
method message
type/CX/Emit
role CX::Emit
Methods
method message
type/CX/Last
role CX::Last
Methods
method message
type/CX/Next
role CX::Next
Methods
method message
type/CX/Proceed
role CX::Proceed
Methods
method message
type/CX/Redo
role CX::Redo
Methods
method message
type/CX/Return
role CX::Return
Methods
method message
type/CX/Succeed
role CX::Succeed
Methods
method message
type/CX/Take
role CX::Take
Methods
method message
type/CX/Warn
role CX::Warn
Methods
method new
type/CallFrame
class CallFrame
Methods
method code
method file
method line
method annotations
method my
Routines
sub callframe
type/Callable
role Callable
Methods
method CALL-ME
method Capture
type/Cancellation
class Cancellation
Methods
method cancel
type/Capture
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
type/Channel
class Channel
Methods
method send
method receive
method poll
method close
method list
method closed
method fail
method Capture
method Supply
sub await
type/Code
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
type/Collation
class Collation
Methods
method set
method primary
method secondary
method tertiary
method quaternary
type/CompUnit
class CompUnit
Methods
method auth
method distribution
method from
method precompiled
method repo
method repo-id
method short-name
method version
type/CompUnit/PrecompilationRepository
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
type/CompUnit/Repository
role CompUnit::Repository
Methods
method resolve
method need
method load
method loaded
type/CompUnit/Repository/FileSystem
class CompUnit::Repository::FileSystem
Methods
method candidates
method files
method resolve
method need
method load
method loaded
method short-id
type/CompUnit/Repository/Installation
class CompUnit::Repository::Installation
Methods
method install
method uninstall
method candidates
method files
method resolve
method need
method load
method loaded
method short-id
type/Compiler
class Compiler
Methods
method id
method release
method codename
method backend
method build-date
method verbose-config
type/Complex
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:<**>
type/ComplexStr
class ComplexStr
Methods
method new
method Bool
method Capture
method Complex
method Numeric
method Real
method Str
method ACCEPTS
Operators
infix cmp
type/Cool
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
method 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
type/CurrentThreadScheduler
class CurrentThreadScheduler
type/Date
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:<+>
type/DateTime
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 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:«!=»
type/Dateish
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
type/Distribution
role Distribution
Required Methods
method meta
method content
type/Distribution/Hash
class Distribution::Hash
Methods
method new
method meta
method content
type/Distribution/Locally
class Distribution::Locally
Methods
method prefix
method content
type/Distribution/Path
class Distribution::Path
Methods
method new
method meta
method content
type/Distribution/Resource
class Distribution::Resource
Methods
method IO
type/Distro
class Distro
Methods
method is-win
method path-sep
method release
type/Duration
class Duration
type/Encoding
role Encoding
Methods
method name
method alternative-names
method decoder
method encoder
type/Encoding/Registry
class Encoding::Registry
Methods
method name
method find
type/Endian
enum Endian
Methods
routine Numeric
type/Enumeration
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 ===
type/Exception
class Exception
Methods
method message
method backtrace
method throw
method resume
method rethrow
routine fail
method gist
routine die
sub warn
type/Failure
class Failure
Methods
method new
method handled
method exception
method self
method Bool
method Capture
method defined
sub fail
type/FatRat
class FatRat
Methods
method raku
type/ForeignCode
class ForeignCode
Methods
method arity
method count
method signature
method name
method gist
method Str
type/Grammar
class Grammar
Methods
method parse
method subparse
method parsefile
type/Hash
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
type/HyperSeq
class HyperSeq
Methods
method iterator
method grep
method map
method invert
method hyper
method race
method serial
method is-lazy
method sink
type/HyperWhatever
class HyperWhatever
Standalone term
Currying
type/IO
role IO
type/IO/ArgFiles
class IO::ArgFiles
Variables
$*ARGFILES
type/IO/CatHandle
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
type/IO/Handle
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
type/IO/Notification
class IO::Notification
Methods
method watch-path
type/IO/Notification/Change
class IO::Notification::Change
Methods
method path
method event
method IO
method gist
type/IO/Path
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
type/IO/Path/Cygwin
class IO::Path::Cygwin
Methods
method new
method raku
type/IO/Path/Parts
class IO::Path::Parts
Methods
method new
attribute volume
attribute dirname
attribute basename
Previous implementations
type/IO/Path/QNX
class IO::Path::QNX
Methods
method new
method raku
type/IO/Path/Unix
class IO::Path::Unix
Methods
method new
method raku
type/IO/Path/Win32
class IO::Path::Win32
Methods
method new
method raku
type/IO/Pipe
class IO::Pipe
Methods
method close
method IO
method path
method proc
type/IO/Socket
role IO::Socket
Methods
method recv
method read
routine get
method print
method write
method put
method close
method native-descriptor
type/IO/Socket/Async
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
type/IO/Socket/Async/ListenSocket
class IO::Socket::Async::ListenSocket
Methods
method socket-host
method socket-port
method native-descriptor
type/IO/Socket/INET
class IO::Socket::INET
Methods
method new
Methods
method get
method lines
method accept
type/IO/Spec
class IO::Spec
About sub-classes IO::Spec::*
Methods
type/IO/Spec/Cygwin
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
type/IO/Spec/QNX
class IO::Spec::QNX
Methods
method canonpath
type/IO/Spec/Unix
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
type/IO/Spec/Win32
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
type/IO/Special
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
type/Instant
class Instant
Future Leap Seconds
Methods
method from-posix
method to-posix
method Date
method DateTime
type/Int
class Int
Methods
Head
method Capture
routine chr
routine expmod
method polymod
routine is-prime
routine lsb
routine msb
routine unival
method Range
method Bridge
Operators
infix div
type/IntStr
class IntStr
Methods
method new
method Bool
method Int
method Numeric
method Real
method Str
method ACCEPTS
Operators
infix cmp
type/Iterable
role Iterable
Methods
method iterator
method flat
method lazy
method hyper
Options degree and batch
method race
type/Iterator
role Iterator
IterationEnd
Methods
method pull-one
method push-exactly
method push-at-least
method push-all
method push-until-lazy
method is-lazy
method sink-all
method skip-one
method skip-at-least
method skip-at-least-pull-one
Predictive iterators
type/Junction
class Junction
Failures and exceptions
Smartmatching
Methods
method new
method defined
method Bool
method Str
method iterator
method gist
method raku
infix ~
See Also
type/Kernel
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
type/Label
class Label
Methods
method name
method next
method redo
method last
type/List
class List
Immutability
Items, flattening and sigils
Methods
method ACCEPTS
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
type/Lock
class Lock
Methods
method protect
method lock
method unlock
method condition
type/Lock/Async
class Lock::Async
Methods
method lock
method unlock
method protect
method protect-or-queue-on-recursion
method with-lock-hidden-from-recursion-check
type/Lock/ConditionVariable
class Lock::ConditionVariable
Methods
method wait
method signal
type/Macro
class Macro
type/Map
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
type/Match
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
type/Metamodel/AttributeContainer
role Metamodel::AttributeContainer
Methods
method add_attribute
method attributes
method set_rw
method rw
type/Metamodel/C3MRO
role Metamodel::C3MRO
Methods
method compute_mro
method mro
method mro_unhidden
type/Metamodel/ClassHOW
class Metamodel::ClassHOW
Methods
method add_fallback
method can
method lookup
method compose
method new_type
type/Metamodel/ConcreteRoleHOW
role Metamodel::ConcreteRoleHOW
type/Metamodel/CurriedRoleHOW
role Metamodel::CurriedRoleHOW
type/Metamodel/DefiniteHOW
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
type/Metamodel/Documenting
role Metamodel::Documenting
Methods
method set_why
method WHY
type/Metamodel/EnumHOW
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
type/Metamodel/Finalization
role Metamodel::Finalization
Methods
method setup_finalization
method destroyers
type/Metamodel/MROBasedMethodDispatch
role Metamodel::MROBasedMethodDispatch
Methods
method find_method
method find_method_qualified
method can
method publish_method_cache
type/Metamodel/MethodContainer
role Metamodel::MethodContainer
Methods
method add_method
method methods
method method_table
method lookup
type/Metamodel/Mixins
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
type/Metamodel/MultipleInheritance
role Metamodel::MultipleInheritance
Methods
method add_parent
method parents
method hides
method hidden
method set_hidden
type/Metamodel/Naming
role Metamodel::Naming
Methods
method name
method set_name
type/Metamodel/PackageHOW
class Metamodel::PackageHOW
Methods
method archetypes
method new
method new_type
compose
is_composed
type/Metamodel/ParametricRoleGroupHOW
role Metamodel::ParametricRoleGroupHOW
type/Metamodel/ParametricRoleHOW
role Metamodel::ParametricRoleHOW
type/Metamodel/Primitives
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
type/Metamodel/PrivateMethodContainer
role Metamodel::PrivateMethodContainer
Methods
method add_private_method
method private_method_table
method private_methods
method private_method_names
method find_private_method
type/Metamodel/RoleContainer
role Metamodel::RoleContainer
Methods
method add_role
method roles_to_compose
type/Metamodel/RolePunning
role Metamodel::RolePunning
type/Metamodel/Stashing
role Metamodel::Stashing
Methods
method add_stash
type/Metamodel/Trusting
role Metamodel::Trusting
Methods
method add_trustee
method trusts
method is_trusted
type/Metamodel/Versioning
role Metamodel::Versioning
Methods
method ver
method auth
method api
method set_ver
method set_auth
method set_api
type/Method
class Method
type/Mix
class Mix
Creating Mix objects
Operators
sub mix
Methods
method Bag
method BagHash
method reverse
method total
Note on order
See Also
type/MixHash
class MixHash
Creating MixHash objects
Operators
Note on reverse and ordering.
Methods
method Bag
method BagHash
See Also
type/Mixy
role Mixy
Methods
method roll
See Also
type/Mu
class Mu
Methods
method iterator
method defined
routine defined
routine isa
routine does
routine Bool
method Capture
method Str
routine gist
method raku
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
type/NFC
class NFC
type/NFD
class NFD
type/NFKC
class NFKC
type/NFKD
class NFKD
type/Nil
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
type/Num
class Num
Inf
NaN
method new
method rand
sub srand
method Capture
Int
Rat
FatRat
method Bridge
type/NumStr
class NumStr
Methods
method new
method Bool
method Num
method Numeric
method Real
method Str
method ACCEPTS
Operators
infix cmp
type/Numeric
role Numeric
Methods
method Numeric
method Int
method Rat
method Num
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
type/ObjAt
class ObjAt
Methods
infix eqv
type/Order
enum Order
Operators
infix cmp
infix <=>
type/Pair
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
type/Parameter
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)
type/Perl
class Perl
type/Pod/Block
class Pod::Block
Methods
method contents
method config
type/Pod/Block/Code
class Pod::Block::Code
type/Pod/Block/Comment
class Pod::Block::Comment
type/Pod/Block/Declarator
class Pod::Block::Declarator
Methods
method leading
method trailing
method WHEREFORE
type/Pod/Block/Named
class Pod::Block::Named
Methods
method name
type/Pod/Block/Para
class Pod::Block::Para
type/Pod/Block/Table
class Pod::Block::Table
Methods
method caption
method headers
type/Pod/Defn
class Pod::Defn
Methods
method term
type/Pod/FormattingCode
class Pod::FormattingCode
Methods
method type
method meta
type/Pod/Heading
class Pod::Heading
Methods
method level
type/Pod/Item
class Pod::Item
Methods
method level
type/Positional
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
type/PositionalBindFailover
role PositionalBindFailover
Methods
method cache
method list
method iterator
type/PredictiveIterator
role PredictiveIterator
Methods
method count-only
method bool-only
type/Proc
class Proc
Potential Deadlocks
Methods
routine new
method sink
method spawn
method shell
method command
method Bool
method pid
method exitcode
method signal
type/Proc/Async
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 method put
method say
method Supply
method close-stdin
method kill
type/Promise
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
type/Proxy
class Proxy
Methods
method new
type/PseudoStash
class PseudoStash
type/QuantHash
role QuantHash
Methods
method hash
method Hash
method of
method keyof
method Capture
method Setty
method Baggy
method Mixy
type/RaceSeq
class RaceSeq
Methods
method iterator
method grep
method map
method invert
method race
method hyper
method serial
method is-lazy
method sink
type/Raku
class Raku
Methods
method compiler
method DISTROnames
method KERNELnames
method VMnames
See Also
type/Range
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:
type/Rat
class Rat
Methods
method raku
type/RatStr
class RatStr
Methods
method new
method Bool
method Capture
method Numeric
method Rat
method Real
method Str
method ACCEPTS
Operators
infix cmp
type/Rational
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
type/Real
role Real
Methods
method Bridge
method Complex
method Rat
method Real
routine rand
method sign
method round
method floor
method ceiling
method truncate
method polymod
method base
type/Regex
class Regex
Methods
method ACCEPTS
method Bool
type/Routine
class Routine
Methods
method name
method package
method multi
method candidates
method cando
method wrap
method unwrap
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
type/Routine/WrapHandle
class Routine::WrapHandle
Methods
method restore
type/Scalar
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 ⚛
type/Scheduler
role Scheduler
Methods
method uncaught_handler
method cue
method loads
type/Semaphore
class Semaphore
Methods
method new
method acquire
method try_acquire
method release
type/Seq
class Seq
Methods
method new
method iterator
method is-lazy
method Seq
method Capture
method elems
method from-loop
method sink
method skip
type/Sequence
role Sequence
Methods
method Str
method Stringy
method Numeric
method AT-POS
method EXISTS-POS
method eager
method fmt
method gist
type/Set
class Set
Creating Set objects
Operators
Subroutines
sub set
See Also
type/SetHash
class SetHash
Creating SetHash objects
Operators
Methods
method set
method unset
See Also
type/Setty
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
type/Signature
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)
type/Slip
class Slip
Methods
method List
sub slip
Constants
constant Empty
type/Stash
class Stash
type/Str
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 Int
method Rat
method Bool
routine parse-base
routine parse-names
routine uniparse
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
type/StrDistance
class StrDistance
Methods
method before
method after
method Bool
method Numeric
method Int
method Str
type/Stringy
role Stringy
type/Sub
class Sub
Operators
Traits
type/Submethod
class Submethod
Methods
method gist
type/Supplier
class Supplier
Methods
method new
method Supply
method emit
method done
method quit
type/Supplier/Preserving
class Supplier::Preserving
Methods
method new
type/Supply
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
type/Systemic
role Systemic
Methods
method auth
method config
method desc
method name
method signature
method version
method gist
method Str
type/Tap
class Tap
Methods
method close
type/Telemetry
class Telemetry
routine T
routine snap
routine snapper
routine periods
routine report
module snapper
type/Telemetry/Instrument/Thread
class Telemetry::Instrument::Thread
type/Telemetry/Instrument/ThreadPool
class Telemetry::Instrument::ThreadPool
type/Telemetry/Instrument/Usage
class Telemetry::Instrument::Usage
Useful readings
Head
type/Telemetry/Period
class Telemetry::Period
type/Telemetry/Sampler
class Telemetry::Sampler
method new
method set-instruments
type/Test
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
type/Thread
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
type/ThreadPoolScheduler
class ThreadPoolScheduler
Methods
new
type/UInt
Subset UInt
type/Uni
class Uni
Methods
method new
method NFC
method NFD
method NFKC
method NFKD
method codes
method elems
type/VM
class VM
Methods
method osname
method precomp-ext
method precomp-target
method prefix
type/ValueObjAt
class ValueObjAt
type/Variable
class Variable
Traits
trait is default
trait is dynamic
trait of
Methods
method name
type/Version
class Version
Methods
method new
method parts
method plus
method Str
method gist
method Capture
type/Whatever
class Whatever
Methods
method ACCEPTS
method Capture
type/WhateverCode
class WhateverCode
type/X/AdHoc
class X::AdHoc
Methods
method payload
method Numeric
method from-slurpy
type/X/Anon/Augment
class X::Anon::Augment
Methods
method package-kind
type/X/Anon/Multi
class X::Anon::Multi
Methods
method multiness
method routine-type
type/X/Assignment/RO
class X::Assignment::RO
Methods
method typename
type/X/Attribute/NoPackage
class X::Attribute::NoPackage
Methods
method name
type/X/Attribute/Package
class X::Attribute::Package
Methods
method name
method package-kind
type/X/Attribute/Required
class X::Attribute::Required
Methods
method name
method why
type/X/Attribute/Undeclared
class X::Attribute::Undeclared
Methods
method package-kind
method package-name
type/X/Augment/NoSuchType
class X::Augment::NoSuchType
Methods
method package-kind
method package
type/X/Bind
class X::Bind
type/X/Bind/NativeType
class X::Bind::NativeType
Methods
method name
type/X/Bind/Slice
class X::Bind::Slice
Methods
method type
type/X/Caller/NotDynamic
class X::Caller::NotDynamic
Methods
method symbol
type/X/Cannot/Lazy
class X::Cannot::Lazy
Methods
method action
method what
type/X/Channel/ReceiveOnClosed
class X::Channel::ReceiveOnClosed
Methods
method channel
type/X/Channel/SendOnClosed
class X::Channel::SendOnClosed
Methods
method channel
type/X/Comp
role X::Comp
Methods
method filename
method line
method column
type/X/Composition/NotComposable
class X::Composition::NotComposable
Methods
method target-name
method composer
type/X/Constructor/Positional
class X::Constructor::Positional
type/X/Control
role X::Control
type/X/ControlFlow
class X::ControlFlow
Methods
method illegal
method enclosing
type/X/ControlFlow/Return
class X::ControlFlow::Return
type/X/DateTime/TimezoneClash
class X::DateTime::TimezoneClash
Methods
sub message Defined as:
type/X/Declaration/Scope
class X::Declaration::Scope
Methods
method scope
method declaration
type/X/Declaration/Scope/Multi
class X::Declaration::Scope::Multi
type/X/Does/TypeObject
class X::Does::TypeObject
Methods
method type
type/X/Dynamic/NotFound
class X::Dynamic::NotFound
Methods
method name
type/X/Eval/NoSuchLang
class X::Eval::NoSuchLang
Methods
method lang
type/X/Export/NameClash
class X::Export::NameClash
Methods
method symbol
type/X/IO
role X::IO
type/X/IO/Chdir
class X::IO::Chdir
Methods
method path
type/X/IO/Chmod
class X::IO::Chmod
type/X/IO/Copy
class X::IO::Copy
Methods
method from
method to
type/X/IO/Cwd
class X::IO::Cwd
type/X/IO/Dir
class X::IO::Dir
Methods
method path
type/X/IO/DoesNotExist
class X::IO::DoesNotExist
Methods
method path
method trying
type/X/IO/Link
class X::IO::Link
Methods
method target
method name
type/X/IO/Mkdir
class X::IO::Mkdir
Methods
method path
method mode
type/X/IO/Move
class X::IO::Move
Methods
method from
method to
type/X/IO/Rename
class X::IO::Rename
Methods
method from
method to
type/X/IO/Rmdir
class X::IO::Rmdir
Methods
method path
type/X/IO/Symlink
class X::IO::Symlink
Methods
method name
method target
type/X/IO/Unlink
class X::IO::Unlink
Methods
method path
type/X/Inheritance/NotComposed
class X::Inheritance::NotComposed
Methods
method child-name
method parent-name
type/X/Inheritance/Unsupported
class X::Inheritance::Unsupported
Methods
method child-typename
method parent
type/X/Method/InvalidQualifier
class X::Method::InvalidQualifier
Methods
method method
method invocant
method qualifier-type
type/X/Method/NotFound
class X::Method::NotFound
Methods
method method
method typename
method private
method addendum
type/X/Method/Private/Permission
class X::Method::Private::Permission
Methods
method method
method source-package
method calling-package
type/X/Method/Private/Unqualified
class X::Method::Private::Unqualified
Methods
method method
type/X/Mixin/NotComposable
class X::Mixin::NotComposable
Methods
method target
method rolish
type/X/NYI
class X::NYI
Methods
method new
method feature
method did-you-mean
method workaround
method message
type/X/NoDispatcher
class X::NoDispatcher
Methods
method redispatcher
type/X/Numeric/Real
class X::Numeric::Real
Methods
method source
method target
method reason
type/X/OS
role X::OS
Methods
method os-error
type/X/Obsolete
class X::Obsolete
Methods
method old
method replacement
method when
type/X/OutOfRange
class X::OutOfRange
Methods
method what
method got
method range
method comment
type/X/Package/Stubbed
class X::Package::Stubbed
Methods
method packages
type/X/Parameter/Default
class X::Parameter::Default
Methods
method how
method parameter
type/X/Parameter/MultipleTypeConstraints
class X::Parameter::MultipleTypeConstraints
Methods
method parameter
type/X/Parameter/Placeholder
class X::Parameter::Placeholder
Methods
method parameter
method right
type/X/Parameter/Twigil
class X::Parameter::Twigil
Methods
method parameter
method twigil
type/X/Parameter/WrongOrder
class X::Parameter::WrongOrder
Methods
method misplaced
method parameter
method after
type/X/Phaser/Multiple
class X::Phaser::Multiple
Methods
method block
type/X/Phaser/PrePost
class X::Phaser::PrePost
Methods
method phaser
method condition
type/X/Placeholder/Block
class X::Placeholder::Block
Methods
method placeholder
type/X/Placeholder/Mainline
class X::Placeholder::Mainline
type/X/Pod
role X::Pod
type/X/Proc/Async
role X::Proc::Async
Methods
method proc
type/X/Proc/Async/AlreadyStarted
class X::Proc::Async::AlreadyStarted
type/X/Proc/Async/BindOrUse
class X::Proc::Async::BindOrUse
type/X/Proc/Async/CharsOrBytes
class X::Proc::Async::CharsOrBytes
Methods
method handle
type/X/Proc/Async/MustBeStarted
class X::Proc::Async::MustBeStarted
Methods
method method
type/X/Proc/Async/OpenForWriting
class X::Proc::Async::OpenForWriting
Methods
method method
type/X/Proc/Async/TapBeforeSpawn
class X::Proc::Async::TapBeforeSpawn
Methods
method handle
type/X/Proc/Unsuccessful
class X::Proc::Unsuccessful
Methods
method proc
type/X/Promise/CauseOnlyValidOnBroken
class X::Promise::CauseOnlyValidOnBroken
Methods
method promise
method status
type/X/Promise/Vowed
class X::Promise::Vowed
Methods
method promise
type/X/Redeclaration
class X::Redeclaration
Methods
method symbol
method what
method postfix
type/X/Role/Initialization
class X::Role::Initialization
Methods
method role
type/X/Scheduler/CueInNaNSeconds
class X::Scheduler::CueInNaNSeconds
type/X/Seq/Consumed
class X::Seq::Consumed
type/X/Sequence/Deduction
class X::Sequence::Deduction
type/X/Signature/NameClash
class X::Signature::NameClash
Methods
method name
type/X/Signature/Placeholder
class X::Signature::Placeholder
Methods
method placeholder
type/X/Str/Numeric
class X::Str::Numeric
Methods
method source
method pos
method reason
type/X/StubCode
class X::StubCode
Methods
method message
type/X/Syntax
role X::Syntax
type/X/Syntax/Augment/WithoutMonkeyTyping
class X::Syntax::Augment::WithoutMonkeyTyping
type/X/Syntax/Comment/Embedded
class X::Syntax::Comment::Embedded
type/X/Syntax/Confused
class X::Syntax::Confused
type/X/Syntax/InfixInTermPosition
class X::Syntax::InfixInTermPosition
Methods
method infix
type/X/Syntax/Malformed
class X::Syntax::Malformed
Methods
method what
type/X/Syntax/Missing
class X::Syntax::Missing
Methods
method what
type/X/Syntax/NegatedPair
class X::Syntax::NegatedPair
Methods
method key
type/X/Syntax/NoSelf
class X::Syntax::NoSelf
Methods
method variable
type/X/Syntax/Number/RadixOutOfRange
class X::Syntax::Number::RadixOutOfRange
Methods
method radix
type/X/Syntax/P5
class X::Syntax::P5
type/X/Syntax/Perl5Var
class X::Syntax::Perl5Var
type/X/Syntax/Regex/Adverb
class X::Syntax::Regex::Adverb
Methods
method adverb
method construct
type/X/Syntax/Regex/SolitaryQuantifier
class X::Syntax::Regex::SolitaryQuantifier
type/X/Syntax/Reserved
class X::Syntax::Reserved
Methods
method reserved
method instead
type/X/Syntax/Self/WithoutObject
class X::Syntax::Self::WithoutObject
type/X/Syntax/Signature/InvocantMarker
class X::Syntax::Signature::InvocantMarker
type/X/Syntax/Term/MissingInitializer
class X::Syntax::Term::MissingInitializer
type/X/Syntax/UnlessElse
class X::Syntax::UnlessElse
type/X/Syntax/Variable/Match
class X::Syntax::Variable::Match
type/X/Syntax/Variable/Numeric
class X::Syntax::Variable::Numeric
Methods
method what
type/X/Syntax/Variable/Twigil
class X::Syntax::Variable::Twigil
Methods
method twigil
method scope
type/X/Temporal
role X::Temporal
type/X/Temporal/InvalidFormat
class X::Temporal::InvalidFormat
Methods
method invalid-str
method target
method format
type/X/TypeCheck
class X::TypeCheck
Methods
method operation
method got
method expected
type/X/TypeCheck/Assignment
class X::TypeCheck::Assignment
type/X/TypeCheck/Binding
class X::TypeCheck::Binding
type/X/TypeCheck/Return
class X::TypeCheck::Return
type/X/TypeCheck/Splice
class X::TypeCheck::Splice
Methods
method action
type/X/Undeclared
class X::Undeclared
Methods
method symbol
method what
type/atomicint
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 ⚛−=
type/independent-routines
Independent routines
routine EVAL
sub EVALFILE
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
type/utf8
class utf8