This is a list of the built-in types that are documented, sorted by class/enum/module/role and by categories.

Basic classes

Subset UInt

Unsigned integer (arbitrary-precision)

class AST

Abstract representation of a piece of source code

class Allomorph

Dual value number and string

class Any

Thing/object

class Block

Code object with its own lexical scope

class CallFrame

Captures the current frame state

class Code

Code object

class Collation

Encapsulates instructions about how strings should be sorted

class Compiler

Information related to the compiler that is being used

class Complex

Complex number

class ComplexStr

Dual value complex number and string

class Cool

Object that can be treated as both a string and number

class CurrentThreadScheduler

Scheduler that synchronously executes code on the current thread

class Date

Calendar date

class DateTime

Calendar date with time

class Distribution::Hash

Distribution::Hash

class Distribution::Locally

Distribution::Locally

class Distribution::Path

Distribution::Path

class Distribution::Resource

Every one of the resources installed with a distribution

class Duration

Length of time

class Encoding::Registry

Management of available encodings

class FatRat

Rational number (arbitrary-precision)

class ForeignCode

Rakudo-specific class that wraps around code in other languages (generally NQP)

class Format

Convert values to a string given a format specification

class Formatter

Produce Callable for given format specification

class HyperSeq

An object for performing batches of work in parallel with ordered output

class HyperWhatever

Placeholder for multiple unspecified values/arguments

class Instant

Specific moment in time

class Int

Integer (arbitrary-precision)

class IntStr

Dual value integer and string

class Junction

Logical superposition of values

class Label

Tagged location in the source code

class Lock::Async

A non-blocking, non-re-entrant, mutual exclusion lock

class Macro

Compile-time routine

class Method

Member function

class Mu

The root of the Raku type hierarchy.

class Nil

Absence of a value or a benign failure

class Num

Floating-point number

class NumStr

Dual value floating-point number and string

class ObjAt

Unique identification for an object

class Parameter

Element of a Signature

class Perl

Perl related information

class Proxy

Item container with custom storage and retrieval

class RaceSeq

Performs batches of work in parallel without respecting original order.

class Raku

Raku related information

class RakuAST::Doc::Block

Contains the information of a RakuDoc block

class RakuAST::Doc::Declarator

Contains the declarator docs of a RakuAST object

class RakuAST::Doc::Markup

Contains the information about RakuDoc markup

class RakuAST::Doc::Paragraph

Contains the information about a RakuDoc paragraph

class Rat

Rational number (limited-precision)

class RatStr

Dual value rational number and string

class Routine

Code object with its own lexical scope and return handling

class Routine::WrapHandle

Holds all information needed to unwrap a wrapped routine.

class Scalar

A mostly transparent container used for indirections

class Signature

Parameter list pattern

class Str

String of characters

class StrDistance

Contains the result of a string transformation.

class Sub

Subroutine

class Submethod

Member function that is not inherited by subclasses

class Telemetry

Collect performance state for analysis

class Telemetry::Instrument::Thread

Instrument for collecting Thread data

class Telemetry::Instrument::ThreadPool

Instrument for collecting ThreadPoolScheduler data

class Telemetry::Instrument::Usage

Instrument for collecting getrusage data

class Telemetry::Period

Performance data over a period

class Telemetry::Sampler

Telemetry instrument pod

class ValueObjAt

Unique identification for value types

class Variable

Object representation of a variable for use in traits

class Version

Module version descriptor

class Whatever

Placeholder for the value of an unspecified argument

class WhateverCode

Code object constructed by Whatever-priming

class atomicint

Integer (native storage at the platform's atomic operation size)

class int

Native integer

package RakuAST

Namespace for holding RakuAST related classes

role Numeric

Number or object that can act as a number

Composite classes

class Array

Sequence of itemized values

class Bag

Immutable collection of distinct objects with integer weights

class BagHash

Mutable collection of distinct objects with integer weights

class Capture

Argument list suitable for passing to a Signature

class Hash

Mapping from strings to itemized values

class IterationBuffer

Low level storage of positional values

class List

Sequence of values

class Map

Immutable mapping from strings to values

class Mix

Immutable collection of distinct objects with Real weights

class MixHash

Mutable collection of distinct objects with Real weights

class NFC

Codepoint string in Normal Form C (composed)

class NFD

Codepoint string in Normal Form D (decomposed)

class NFKC

Codepoint string in Normal Form KC (compatibility composed)

class NFKD

Codepoint string in Normal Form KD (compatibility decomposed)

class Pair

Key/value pair

class PseudoStash

Stash type for pseudo-packages

class Range

Interval of ordered values

class Seq

An iterable, potentially lazy sequence of values

class Set

Immutable collection of distinct objects

class SetHash

Mutable collection of distinct objects

class Slip

A kind of List that automatically flattens into an outer container

class Stash

Table for "our"-scoped symbols

class Uni

A string of Unicode codepoints

class utf8

Mutable uint8 buffer for utf8 binary data

Domain-specific classes

class Attribute

Member variable

class Cancellation

Removal of a task from a Scheduler before normal completion

class Channel

Thread-safe queue for sending values from producers to consumers

class CompUnit::Repository::FileSystem

CompUnit::Repository::FileSystem

class CompUnit::Repository::Installation

CompUnit::Repository::Installation

class Distro

Distribution related information

class Grammar

Formal grammar made up of named regexes

class IO::ArgFiles

Iterate over contents of files specified on command line

class IO::CatHandle

Use multiple IO handles as if they were one

class IO::Handle

Opened file or stream

class IO::Notification

Asynchronous notification for file and directory changes

class IO::Notification::Change

Changes in a file, produced by watch-file

class IO::Path

File or directory path

class IO::Path::Cygwin

IO::Path pre-loaded with IO::Spec::Cygwin

class IO::Path::Parts

IO::Path parts encapsulation

class IO::Path::QNX

IO::Path pre-loaded with IO::Spec::QNX

class IO::Path::Unix

IO::Path pre-loaded with IO::Spec::Unix

class IO::Path::Win32

IO::Path pre-loaded with IO::Spec::Win32

class IO::Pipe

Buffered inter-process string or binary stream

class IO::Socket::Async

Asynchronous socket in TCP or UDP

class IO::Socket::Async::ListenSocket

A tap for listening TCP sockets

class IO::Spec

Platform specific operations on file and directory paths

class IO::Spec::Cygwin

Platform specific operations on file and directory paths for Cygwin

class IO::Spec::QNX

Platform specific operations on file and directory paths QNX

class IO::Spec::Unix

Platform specific operations on file and directory paths for POSIX

class IO::Spec::Win32

Platform specific operations on file and directory paths for Windows

class IO::Special

Path to special I/O device

class Kernel

Kernel related information

class Lock

A low-level, re-entrant, mutual exclusion lock

class Lock::ConditionVariable

Condition variables used in locks

class Match

Result of a successful regex match

class Pod::Block

Block in a Pod document

class Pod::Block::Code

Verbatim code block in a Pod document

class Pod::Block::Comment

Comment in a Pod document

class Pod::Block::Declarator

Declarator block in a Pod document

class Pod::Block::Named

Named block in a Pod document

class Pod::Block::Para

Paragraph in a Pod document

class Pod::Block::Table

Table in a Pod document

class Pod::Defn

Pod definition list

class Pod::FormattingCode

Pod formatting code

class Pod::Heading

Heading in a Pod document

class Pod::Item

Item in a Pod enumeration list

class Proc

Running process (filehandle-based interface)

class Proc::Async

Running process (asynchronous interface)

class Promise

Status/result of an asynchronous computation

class Regex

String pattern

class Semaphore

Control access to shared resources by multiple threads

class Supplier

Live Supply factory

class Supplier::Preserving

Cached live Supply factory

class Supply

Asynchronous data stream with multiple subscribers

class Tap

Subscription to a Supply

class Thread

Concurrent execution of code (low-level)

class ThreadPoolScheduler

Scheduler that distributes work among a pool of threads

class Unicode

Unicode related information

class VM

Raku Virtual Machine related information

Composite classes

class Array

Sequence of itemized values

class Bag

Immutable collection of distinct objects with integer weights

class BagHash

Mutable collection of distinct objects with integer weights

class Capture

Argument list suitable for passing to a Signature

class Hash

Mapping from strings to itemized values

class IterationBuffer

Low level storage of positional values

class List

Sequence of values

class Map

Immutable mapping from strings to values

class Mix

Immutable collection of distinct objects with Real weights

class MixHash

Mutable collection of distinct objects with Real weights

class NFC

Codepoint string in Normal Form C (composed)

class NFD

Codepoint string in Normal Form D (decomposed)

class NFKC

Codepoint string in Normal Form KC (compatibility composed)

class NFKD

Codepoint string in Normal Form KD (compatibility decomposed)

class Pair

Key/value pair

class PseudoStash

Stash type for pseudo-packages

class Range

Interval of ordered values

class Seq

An iterable, potentially lazy sequence of values

class Set

Immutable collection of distinct objects

class SetHash

Mutable collection of distinct objects

class Slip

A kind of List that automatically flattens into an outer container

class Stash

Table for "our"-scoped symbols

class Uni

A string of Unicode codepoints

class utf8

Mutable uint8 buffer for utf8 binary data

Exception classes

class Backtrace

Snapshot of the dynamic call stack

class Backtrace::Frame

Single frame of a Backtrace

class Exception

Anomalous event capable of interrupting normal control-flow

class Failure

Delayed exception

class X::AdHoc

Error with a custom message

class X::Anon::Augment

Compilation error due to augmenting an anonymous package

class X::Anon::Multi

Compilation error due to declaring an anonymous multi

class X::Assignment::RO

Exception thrown when trying to assign to something read-only

class X::Attribute::NoPackage

Compilation error due to declaring an attribute outside of a package

class X::Attribute::Package

Compilation error due to declaring an attribute in an ineligible package

class X::Attribute::Required

Compilation error due to not declaring an attribute with the is required trait

class X::Attribute::Undeclared

Compilation error due to an undeclared attribute

class X::Augment::NoSuchType

Compilation error due to augmenting a non-existing type

class X::Bind

Error due to binding to something that is not a variable or container

class X::Bind::NativeType

Compilation error due to binding to a natively typed variable

class X::Bind::Slice

Error due to binding to a slice

class X::Caller::NotDynamic

Error while trying to access a non dynamic variable through CALLER

class X::Cannot::Empty

Error due to inappropriate usage of an empty collection

class X::Cannot::Lazy

Error due to inappropriate usage of a lazy list

class X::Channel::ReceiveOnClosed

Error due to calling receive on a closed channel

class X::Channel::SendOnClosed

Error due to calling send on a closed channel

class X::Composition::NotComposable

Compilation error due to composing an ineligible type

class X::Constructor::Positional

Error due to passing positional arguments to a default constructor

class X::ControlFlow

Error due to calling a loop control command in an ineligible scope

class X::ControlFlow::Return

Error due to calling return outside a routine

class X::DateTime::TimezoneClash

Error due to using both time zone offset and :timezone

class X::Declaration::Scope

Compilation error due to a declaration with an ineligible scope

class X::Declaration::Scope::Multi

Compilation error due to declaring a multi with an ineligible scope

class X::Does::TypeObject

Error due to mixing into a type object

class X::Dynamic::NotFound

Runtime error thrown when a dynamic variable does not exist

class X::Eval::NoSuchLang

Error due to specifying an unknown language for EVAL

class X::Export::NameClash

Compilation error due to exporting the same symbol twice

class X::IO::BinaryMode

Error while invoking methods on a handle in binary mode.

class X::IO::Chdir

Error while trying to change the working directory

class X::IO::Chmod

Error while trying to change file permissions

class X::IO::Chown

Error while trying to change file ownership

class X::IO::Copy

Error while trying to copy a file

class X::IO::Cwd

Error while trying to determine the current working directory

class X::IO::Dir

Error while trying to get a directory's contents

class X::IO::DoesNotExist

Error while doing file tests on a non existing path

class X::IO::Link

Error while trying to create a link

class X::IO::Mkdir

Error while trying to create a directory

class X::IO::Move

Error while trying to move a file

class X::IO::Rename

Error while trying to rename a file or directory

class X::IO::Rmdir

Error while trying to remove a directory

class X::IO::Symlink

Error while trying to create a symbolic link

class X::IO::Unlink

Error while trying to remove a file

class X::Inheritance::NotComposed

Error due to inheriting from a type that's not composed yet

class X::Inheritance::Unsupported

Compilation error due to inheriting from an ineligible type

class X::Method::InvalidQualifier

Error due to calling a qualified method from an ineligible class

class X::Method::NotFound

Error due to calling a method that isn't there

class X::Method::Private::Permission

Compilation error due to calling a private method without permission

class X::Method::Private::Unqualified

Compilation error due to an unqualified private method call

class X::Mixin::NotComposable

Error due to using an ineligible type as a mixin

class X::NYI

Error due to use of an unimplemented feature

class X::NoDispatcher

Error due to calling a dispatch command in an ineligible scope

class X::Numeric::Real

Error while trying to coerce a number to a Real type

class X::Obsolete

Compilation error due to use of obsolete syntax

class X::OutOfRange

Error due to indexing outside of an allowed range

class X::Package::Stubbed

Compilation error due to a stubbed package that is never defined

class X::Parameter::Default

Compilation error due to an unallowed default value in a signature

class X::Parameter::MultipleTypeConstraints

Compilation error due to a parameter with multiple type constraints

class X::Parameter::Placeholder

Compilation error due to an unallowed placeholder in a signature

class X::Parameter::Twigil

Compilation error due to an unallowed twigil in a signature

class X::Parameter::WrongOrder

Compilation error due to passing parameters in the wrong order

class X::Phaser::Multiple

Compilation error due to multiple phasers of the same type

class X::Phaser::PrePost

Error due to a false return value of a PRE/POST phaser

class X::Placeholder::Block

Compilation error due to a placeholder in an ineligible block

class X::Placeholder::Mainline

Compilation error due to a placeholder in the mainline

class X::Proc::Async::AlreadyStarted

Error due to calling start on an already started Proc::Async object

class X::Proc::Async::BindOrUse

Error due to trying to bind a handle that is also used

class X::Proc::Async::CharsOrBytes

Error due to tapping the same Proc::Async stream for both text and binary reading

class X::Proc::Async::MustBeStarted

Error due to interacting with a Proc::Async stream before spawning its process

class X::Proc::Async::OpenForWriting

Error due to writing to a read-only Proc::Async object

class X::Proc::Async::TapBeforeSpawn

Error due to tapping a Proc::Async stream after spawning its process

class X::Proc::Unsuccessful

Exception thrown if a Proc object is sunk after the process it ran exited unsuccessfully

class X::Promise::CauseOnlyValidOnBroken

Error due to asking why an unbroken promise has been broken.

class X::Promise::Vowed

Error due to directly trying to keep/break a vowed promise.

class X::Redeclaration

Compilation error due to declaring an already declared symbol

class X::Role::Initialization

Error due to passing an initialization value to an ineligible role

class X::Scheduler::CueInNaNSeconds

Error caused by passing NaN to Scheduler.cue as :at, :in, or :every

class X::Seq::Consumed

Error due to trying to reuse a consumed sequence

class X::Sequence::Deduction

Error due to constructing a sequence from ineligible input

class X::Signature::NameClash

Compilation error due to two named parameters with the same name

class X::Signature::Placeholder

Compilation error due to placeholders in a block with a signature

class X::Str::Numeric

Error while trying to coerce a string to a number

class X::StubCode

Runtime error due to execution of stub code

class X::Syntax::Augment::WithoutMonkeyTyping

Compilation error due to augmenting a type without the MONKEY-TYPING pragma

class X::Syntax::Comment::Embedded

Compilation error due to a malformed inline comment

class X::Syntax::Confused

Compilation error due to unrecognized syntax

class X::Syntax::InfixInTermPosition

Compilation error due to an infix in term position

class X::Syntax::Malformed

Compilation error due to a malformed construct (usually a declarator)

class X::Syntax::Missing

Compilation error due to a missing piece of syntax

class X::Syntax::NegatedPair

Compilation error due to passing an argument to a negated colonpair

class X::Syntax::NoSelf

Compilation error due to implicitly using a self that is not there

class X::Syntax::Number::RadixOutOfRange

Compilation error due to an unallowed radix in a number literal

class X::Syntax::P5

Compilation error due to use of Perl-only syntax

class X::Syntax::Perl5Var

Compilation error due to use of Perl-only default variables

class X::Syntax::Regex::Adverb

Compilation error due to an unrecognized regex adverb

class X::Syntax::Regex::SolitaryQuantifier

Compilation error due to a regex quantifier without preceding atom

class X::Syntax::Reserved

Compilation error due to use of syntax reserved for future use

class X::Syntax::Self::WithoutObject

Compilation error due to invoking self in an ineligible scope

class X::Syntax::Signature::InvocantMarker

Compilation error due to a misplaced invocant marker in a signature

class X::Syntax::Term::MissingInitializer

Compilation error due to declaring a term without initialization

class X::Syntax::UnlessElse

Compilation error due to an unless clause followed by else

class X::Syntax::Variable::Match

Compilation error due to declaring a match variable

class X::Syntax::Variable::Numeric

Compilation error due to declaring a numeric symbol

class X::Syntax::Variable::Twigil

Compilation error due to an unallowed twigil in a declaration

class X::Temporal::InvalidFormat

Error due to using an invalid format when creating a DateTime or Date

class X::TypeCheck

Error due to a failed type check

class X::TypeCheck::Assignment

Error due to a failed type check during assignment

class X::TypeCheck::Binding

Error due to a failed type check during binding

class X::TypeCheck::Return

Error due to a failed typecheck during return

class X::TypeCheck::Splice

Compilation error due to a macro trying to splice a non-AST value

class X::Undeclared

Compilation error due to an undeclared symbol

role CX::Done

Done control exception

role CX::Emit

Emit control exception

role CX::Last

Last control exception

role CX::Next

Next control exception

role CX::Proceed

Proceed control exception

role CX::Redo

Redo control exception

role CX::Return

Return control exception

role CX::Succeed

Succeed control exception

role CX::Take

Take control exception

role CX::Warn

Control exception warning

role X::Control

Role for control exceptions

Metamodel classes

class Metamodel::ClassHOW

Metaobject representing a Raku class.

class Metamodel::DefiniteHOW

Metaobject for type definiteness

class Metamodel::EnumHOW

Metaobject representing a Raku enum.

class Metamodel::PackageHOW

Metaobject representing a Raku package.

class Metamodel::Primitives

Metaobject that supports low-level type operations

role Metamodel::ConcreteRoleHOW

Provides an implementation of a concrete instance of a role

role Metamodel::CurriedRoleHOW

Support for parameterized roles that have not been instantiated

Basic enums

enum Bool

Logical Boolean

enum Endian

Indicate endianness (6.d, 2018.12 and later)

Domain-specific enums

enum Order

Human readable form for comparison operators.

Module modules

module Test

Writing and running tests

Basic roles

class RakuAST::Doc::DeclaratorTarget

Provide leading/trailing doc functionality

role Callable

Invocable code object

role Dateish

Object that can be treated as a date

role Distribution

Distribution

role Encoding

Support for character encodings.

role PredictiveIterator

Iterators that can predict number of values

role Rational

Number stored as numerator and denominator

role Real

Non-complex number

role Stringy

String or object that can act as a string

Composite roles

role Associative

Object that supports looking up values by key

role Baggy

Collection of distinct weighted objects

role Blob

Immutable buffer for binary data ('Binary Large OBject')

role Buf

Mutable buffer for binary data

role Enumeration

Working with the role behind the enum type

role Iterable

Interface for container objects that can be iterated over

role Iterator

Generic API for producing a sequence of values

role Mixy

Collection of distinct objects with Real weights

role Positional

Object that supports looking up values by index

role PositionalBindFailover

Failover for binding to a Positional

role QuantHash

Object hashes with a limitation on the type of values

role Sequence

Common methods of sequences

role Setty

Collection of distinct objects

Domain-specific roles

role CompUnit::PrecompilationRepository

CompUnit::PrecompilationRepository

role CompUnit::Repository

CompUnit::Repository

role IO

Input/output related routines

role IO::Socket

Network socket

role Scheduler

Scheme for automatically assigning tasks to threads

role Systemic

Information related to the build system

Exception roles

role X::Comp

Common role for compile-time errors

role X::IO

IO related error

role X::OS

Error reported by the operating system

role X::Pod

Pod related error

role X::Proc::Async

Exception thrown by Proc::Async

role X::Syntax

Syntax error thrown by the compiler

role X::Temporal

Error related to DateTime or Date

Metamodel roles

role Metamodel::AttributeContainer

Metaobject that can hold attributes

role Metamodel::C3MRO

Metaobject that supports the C3 method resolution order

role Metamodel::Documenting

Metarole for documenting types.

role Metamodel::Finalization

Metaobject supporting object finalization

role Metamodel::MROBasedMethodDispatch

Metaobject that supports resolving inherited methods

role Metamodel::MethodContainer

Metaobject that supports storing and introspecting methods

role Metamodel::Mixins

Metaobject for generating mixins

role Metamodel::MultipleInheritance

Metaobject that supports multiple inheritance

role Metamodel::Naming

Metaobject that supports named types

role Metamodel::ParametricRoleGroupHOW

Represents a group of roles with different parameterizations

role Metamodel::ParametricRoleHOW

Represents a non-instantiated, parameterized, role.

role Metamodel::PrivateMethodContainer

Metaobject that supports private methods

role Metamodel::RoleContainer

Metaobject that supports holding/containing roles

role Metamodel::RolePunning

Metaobject that supports punning of roles.

role Metamodel::Stashing

Metarole for type stashes

role Metamodel::Trusting

Metaobject that supports trust relations between types

role Metamodel::Versioning

Metaobjects that support versioning