Types, classes & roles
The type tower, definedness, composition, and the metaobject protocol.
basic
ASTAbstract representation of a piece of source code
AllomorphDual value number and string
AnyThing/object
BlockCode object with its own lexical scope
BoolLogical Boolean
CallFrameCaptures the current frame state
CallableInvocable code object
CodeCode object
CollationEncapsulates instructions about how strings should be sorted
CompilerInformation related to the compiler that is being used
ComplexComplex number
ComplexStrDual value complex number and string
CoolObject that can be treated as both a string and number
CurrentThreadSchedulerScheduler that synchronously executes code on the current thread
DateCalendar date
DateTimeCalendar date with time
DateishObject that can be treated as a date
DistributionDistribution
Distribution::HashDistribution::Hash
Distribution::LocallyDistribution::Locally
Distribution::PathDistribution::Path
Distribution::ResourceEvery one of the resources installed with a distribution
DurationLength of time
EncodingSupport for character encodings.
Encoding::RegistryManagement of available encodings
EndianIndicate endianness (6.d, 2018.12 and later)
FatRatRational number (arbitrary-precision)
ForeignCodeRakudo-specific class that wraps around code in other languages (generally NQP)
FormatConvert values to a string given a format specification
FormatterProduce Callable for given format specification
HyperSeqAn object for performing batches of work in parallel with ordered
HyperWhateverPlaceholder for multiple unspecified values/arguments
InstantSpecific moment in time
IntInteger (arbitrary-precision)
IntStrDual value integer and string
JunctionLogical superposition of values
LabelTagged location in the source code
Lock::AsyncA non-blocking, non-re-entrant, mutual exclusion lock
MacroCompile-time routine
MethodMember function
MuThe root of the Raku type hierarchy.
NilAbsence of a value
NumFloating-point number
NumStrDual value floating-point number and string
NumericNumber or object that can act as a number
ObjAtUnique identification for an object
ParameterElement of a Signature
PerlPerl related information
PredictiveIteratorIterators that can predict number of values
PromiseStatusIndicate status of a promise
ProxyItem container with custom storage and retrieval
RaceSeqPerforms batches of work in parallel without respecting original
RakuRaku related information
RakuASTNamespace for holding RakuAST related classes
RakuAST::DocNamespace for holding RakuDoc related classes
RakuAST::Doc::BlockContains the information of a RakuDoc block
RakuAST::Doc::DeclaratorContains the declarator docs of a RakuAST object
RakuAST::Doc::DeclaratorTargetProvide leading/trailing doc functionality
RakuAST::Doc::MarkupContains the information about RakuDoc markup
RakuAST::Doc::ParagraphContains the information about a RakuDoc paragraph
RatRational number (limited-precision)
RatStrDual value rational number and string
RationalNumber stored as numerator and denominator
RealNon-complex number
RoutineCode object with its own lexical scope and C<return> handling
Routine::WrapHandleHolds all information needed to unwrap a wrapped routine.
ScalarA mostly transparent container used for indirections
SignatureParameter list pattern
StrString of characters
StrDistanceContains the result of a string transformation.
StringyString or object that can act as a string
SubSubroutine
SubmethodMember function that is not inherited by subclasses
TelemetryCollect performance state for analysis
Telemetry::Instrument::ThreadInstrument for collecting Thread data
Telemetry::Instrument::ThreadPoolInstrument for collecting ThreadPoolScheduler data
Telemetry::Instrument::UsageInstrument for collecting getrusage data
Telemetry::PeriodPerformance data over a period
Telemetry::SamplerTelemetry instrument pod
UIntUnsigned integer (arbitrary-precision)
ValueObjAtUnique identification for value types
VariableObject representation of a variable for use in traits
VersionModule version descriptor
WhateverPlaceholder for the value of an unspecified argument
WhateverCodeCode object constructed by Whatever-priming
atomicintInteger (native storage at the platform's atomic operation size)
composite
ArraySequence of itemized values
AssociativeObject that supports looking up values by key
BagImmutable collection of distinct objects with integer weights
BagHashMutable collection of distinct objects with integer weights
BaggyCollection of distinct weighted objects
BlobImmutable buffer for binary data ('Binary Large OBject')
BufMutable buffer for binary data
CaptureArgument list suitable for passing to a Signature
EnumerationWorking with the role behind the enum type
HashMapping from strings to itemized values
IterableInterface for container objects that can be iterated over
IterationBufferLow level storage of positional values
IteratorGeneric API for producing a sequence of values
ListSequence of values
MapImmutable mapping from strings to values
MixImmutable collection of distinct objects with Real weights
MixHashMutable collection of distinct objects with Real weights
MixyCollection of distinct objects with Real weights
NFCCodepoint string in Normal Form C (composed)
NFDCodepoint string in Normal Form D (decomposed)
NFKCCodepoint string in Normal Form KC (compatibility composed)
NFKDCodepoint string in Normal Form KD (compatibility decomposed)
PairKey/value pair
PositionalObject that supports looking up values by index
PositionalBindFailoverFailover for binding to a Positional
PseudoStashStash type for pseudo-packages
QuantHashObject hashes with a limitation on the type of values
RangeInterval of ordered values
SeqAn iterable, potentially lazy sequence of values
SequenceCommon methods of sequences
SetImmutable collection of distinct objects
SetHashMutable collection of distinct objects
SettyCollection of distinct objects
SlipA kind of List that automatically flattens into an outer container
StashTable for "our"-scoped symbols
UniA string of Unicode codepoints
utf8Mutable uint8 buffer for utf8 binary data
domain-specific
AttributeMember variable
CancellationRemoval of a task from a Scheduler before normal completion
ChannelThread-safe queue for sending values from producers to consumers
CompUnitCompUnit
CompUnit::PrecompilationRepositoryCompUnit::PrecompilationRepository
CompUnit::RepositoryCompUnit::Repository
CompUnit::Repository::FileSystemCompUnit::Repository::FileSystem
CompUnit::Repository::InstallationCompUnit::Repository::Installation
CompUnit::Repository::UnknownCompUnit::Repository::Unknown
DistroDistribution related information
GrammarFormal grammar made up of named regexes
IOInput/output related routines
IO::ArgFilesIterate over contents of files specified on command line
IO::CatHandleUse multiple IO handles as if they were one
IO::HandleOpened file or stream
IO::NotificationAsynchronous notification for file and directory changes
IO::Notification::ChangeChanges in a file, produced by watch-file
IO::PathFile or directory path
IO::Path::CygwinIO::Path pre-loaded with IO::Spec::Cygwin
IO::Path::PartsIO::Path parts encapsulation
IO::Path::QNXIO::Path pre-loaded with IO::Spec::QNX
IO::Path::UnixIO::Path pre-loaded with IO::Spec::Unix
IO::Path::Win32IO::Path pre-loaded with IO::Spec::Win32
IO::PipeBuffered inter-process string or binary stream
IO::SocketNetwork socket
IO::Socket::AsyncAsynchronous socket in TCP or UDP
IO::Socket::Async::ListenSocketA tap for listening TCP sockets
IO::Socket::INETTCP Socket
IO::SpecPlatform specific operations on file and directory paths
IO::Spec::CygwinPlatform specific operations on file and directory paths for Cygwin
IO::Spec::QNXPlatform specific operations on file and directory paths QNX
IO::Spec::UnixPlatform specific operations on file and directory paths for POSIX
IO::Spec::Win32Platform specific operations on file and directory paths for Windows
IO::SpecialPath to special I/O device
KernelKernel related information
LockA low-level, re-entrant, mutual exclusion lock
Lock::ConditionVariableCondition variables used in locks
MatchResult of a successful regex match
OrderHuman readable form for comparison operators.
Pod::BlockBlock in a Pod document
Pod::Block::CodeVerbatim code block in a Pod document
Pod::Block::CommentComment in a Pod document
Pod::Block::DeclaratorDeclarator block in a Pod document
Pod::Block::NamedNamed block in a Pod document
Pod::Block::ParaParagraph in a Pod document
Pod::Block::TableTable in a Pod document
Pod::DefnPod definition list
Pod::FormattingCodePod formatting code
Pod::HeadingHeading in a Pod document
Pod::ItemItem in a Pod enumeration list
ProcRunning process (filehandle-based interface)
Proc::AsyncRunning process (asynchronous interface)
PromiseStatus/result of an asynchronous computation
RegexString pattern
SchedulerScheme for automatically assigning tasks to threads
SemaphoreControl access to shared resources by multiple threads
SignalList of supported signals
SupplierLive Supply factory
Supplier::PreservingCached live Supply factory
SupplyAsynchronous data stream with multiple subscribers
SystemicInformation related to the build system
TapSubscription to a Supply
ThreadConcurrent execution of code (low-level)
ThreadPoolSchedulerScheduler that distributes work among a pool of threads
UnicodeUnicode related information
VMRaku Virtual Machine related information
exception
BacktraceSnapshot of the dynamic call stack
Backtrace::FrameSingle frame of a Backtrace
CX::DoneDone control exception
CX::EmitEmit control exception
CX::LastLast control exception
CX::NextNext control exception
CX::ProceedProceed control exception
CX::RedoRedo control exception
CX::ReturnReturn control exception
CX::SucceedSucceed control exception
CX::TakeTake control exception
CX::WarnControl exception warning
ExceptionAnomalous event capable of interrupting normal control-flow
FailureDelayed exception
X::AdHocError with a custom message
X::Anon::AugmentCompilation error due to augmenting an anonymous package
X::Anon::MultiCompilation error due to declaring an anonymous multi
X::Assignment::ROException thrown when trying to assign to something read-only
X::Attribute::NoPackageCompilation error due to declaring an attribute outside of a package
X::Attribute::PackageCompilation error due to declaring an attribute in an ineligible package
X::Attribute::RequiredCompilation error due to not declaring an attribute with the C<is required> trait
X::Attribute::UndeclaredCompilation error due to an undeclared attribute
X::Augment::NoSuchTypeCompilation error due to augmenting a non-existing type
X::BindError due to binding to something that is not a variable or container
X::Bind::NativeTypeCompilation error due to binding to a natively typed variable
X::Bind::SliceError due to binding to a slice
X::Caller::NotDynamicError while trying to access a non dynamic variable through CALLER
X::Cannot::EmptyError due to inappropriate usage of an empty collection
X::Cannot::LazyError due to inappropriate usage of a lazy list
X::Channel::ReceiveOnClosedError due to calling receive on a closed channel
X::Channel::SendOnClosedError due to calling send on a closed channel
X::CompCommon role for compile-time errors
X::Composition::NotComposableCompilation error due to composing an ineligible type
X::Constructor::PositionalError due to passing positional arguments to a default constructor
X::ControlRole for control exceptions
X::ControlFlowError due to calling a loop control command in an ineligible scope
X::ControlFlow::ReturnError due to calling return outside a routine
X::DateTime::TimezoneClashError due to using both timezone offset and :timezone
X::Declaration::ScopeCompilation error due to a declaration with an ineligible scope
X::Declaration::Scope::MultiCompilation error due to declaring a multi with an ineligible scope
X::Does::TypeObjectError due to mixing into a type object
X::Dynamic::NotFoundRuntime error thrown when a dynamic variable does not exist
X::Eval::NoSuchLangError due to specifying an unknown language for EVAL
X::Export::NameClashCompilation error due to exporting the same symbol twice
X::IOIO related error
X::IO::BinaryModeError while invoking methods on a handle in binary mode.
X::IO::ChdirError while trying to change the working directory
X::IO::ChmodError while trying to change file permissions
X::IO::ChownError while trying to change file ownership
X::IO::CopyError while trying to copy a file
X::IO::CwdError while trying to determine the current working directory
X::IO::DirError while trying to get a directory's contents
X::IO::DoesNotExistError while doing file tests on a non existing path
X::IO::FlushError while trying to flush IO handles
X::IO::LinkError while trying to create a link
X::IO::LockError while trying to lock handles
X::IO::MkdirError while trying to create a directory
X::IO::MoveError while trying to move a file
X::IO::RenameError while trying to rename a file or directory
X::IO::RmdirError while trying to remove a directory
X::IO::SymlinkError while trying to create a symbolic link
X::IO::UnlinkError while trying to remove a file
X::Inheritance::NotComposedError due to inheriting from a type that's not composed yet
X::Inheritance::UnsupportedCompilation error due to inheriting from an ineligible type
X::Method::InvalidQualifierError due to calling a qualified method from an ineligible class
X::Method::NotFoundError due to calling a method that isn't there
X::Method::Private::PermissionCompilation error due to calling a private method without permission
X::Method::Private::UnqualifiedCompilation error due to an unqualified private method call
X::Mixin::NotComposableError due to using an ineligible type as a mixin
X::NYIError due to use of an unimplemented feature
X::NoDispatcherError due to calling a dispatch command in an ineligible scope
X::Numeric::CannotConvertError while trying to coerce a number to another type
X::Numeric::DivideByZeroError while trying to divide by zero
X::Numeric::RealError while trying to coerce a number to a Real type
X::OSError reported by the operating system
X::ObsoleteCompilation error due to use of obsolete syntax
X::OutOfRangeError due to indexing outside of an allowed range
X::Package::StubbedCompilation error due to a stubbed package that is never defined
X::Parameter::DefaultCompilation error due to an unallowed default value in a signature
X::Parameter::MultipleTypeConstraintsCompilation error due to a parameter with multiple type constraints
X::Parameter::PlaceholderCompilation error due to an unallowed placeholder in a signature
X::Parameter::TwigilCompilation error due to an unallowed twigil in a signature
X::Parameter::WrongOrderCompilation error due to passing parameters in the wrong order
X::Phaser::MultipleCompilation error due to multiple phasers of the same type
X::Phaser::PrePostError due to a false return value of a PRE/POST phaser
X::Placeholder::BlockCompilation error due to a placeholder in an ineligible block
X::Placeholder::MainlineCompilation error due to a placeholder in the mainline
X::PodPod related error
X::Proc::AsyncException thrown by Proc::Async
X::Proc::Async::AlreadyStartedError due to calling start on an already started Proc::Async object
X::Proc::Async::BindOrUseError due to trying to bind a handle that is also used
X::Proc::Async::CharsOrBytesError due to tapping the same Proc::Async stream for both text and binary reading
X::Proc::Async::MustBeStartedError due to interacting with a Proc::Async stream before spawning its process
X::Proc::Async::OpenForWritingError due to writing to a read-only Proc::Async object
X::Proc::Async::TapBeforeSpawnError due to tapping a Proc::Async stream after spawning its process
X::Proc::UnsuccessfulException thrown if a Proc object is sunk after the process it ran exited unsuccessfully
X::Promise::CauseOnlyValidOnBrokenError due to asking why an unbroken promise has been broken.
X::Promise::VowedError due to directly trying to keep/break a vowed promise.
X::RedeclarationCompilation error due to declaring an already declared symbol
X::Role::InitializationError due to passing an initialization value to an ineligible role
X::Scheduler::CueInNaNSecondsError caused by passing NaN to Scheduler.cue as :at, :in, or :every
X::Seq::ConsumedError due to trying to reuse a consumed sequence
X::Sequence::DeductionError due to constructing a sequence from ineligible input
X::Signature::NameClashCompilation error due to two named parameters with the same name
X::Signature::PlaceholderCompilation error due to placeholders in a block with a signature
X::Str::Match::xInvalid argument type for :x argument to Str matching methods
X::Str::NumericError while trying to coerce a string to a number
X::StubCodeRuntime error due to execution of stub code
X::SyntaxSyntax error thrown by the compiler
X::Syntax::Augment::WithoutMonkeyTypingCompilation error due to augmenting a type without the C<MONKEY-TYPING> pragma
X::Syntax::Comment::EmbeddedCompilation error due to a malformed inline comment
X::Syntax::ConfusedCompilation error due to unrecognized syntax
X::Syntax::InfixInTermPositionCompilation error due to an infix in term position
X::Syntax::MalformedCompilation error due to a malformed construct (usually a declarator)
X::Syntax::MissingCompilation error due to a missing piece of syntax
X::Syntax::NegatedPairCompilation error due to passing an argument to a negated colonpair
X::Syntax::NoSelfCompilation error due to implicitly using a C<self> that is not there
X::Syntax::Number::RadixOutOfRangeCompilation error due to an unallowed radix in a number literal
X::Syntax::P5Compilation error due to use of Perl-only syntax
X::Syntax::Perl5VarCompilation error due to use of Perl-only default variables
X::Syntax::Regex::AdverbCompilation error due to an unrecognized regex adverb
X::Syntax::Regex::SolitaryQuantifierCompilation error due to a regex quantifier without preceding atom
X::Syntax::ReservedCompilation error due to use of syntax reserved for future use
X::Syntax::Self::WithoutObjectCompilation error due to invoking C<self> in an ineligible scope
X::Syntax::Signature::InvocantMarkerCompilation error due to a misplaced invocant marker in a signature
X::Syntax::Term::MissingInitializerCompilation error due to declaring a term without initialization
X::Syntax::UnlessElseCompilation error due to an C<unless> clause followed by C<else>
X::Syntax::Variable::MatchCompilation error due to declaring a match variable
X::Syntax::Variable::NumericCompilation error due to declaring a numeric symbol
X::Syntax::Variable::TwigilCompilation error due to an unallowed twigil in a declaration
X::TemporalError related to DateTime or Date
X::Temporal::InvalidFormatError due to using an invalid format when creating a DateTime or Date
X::TypeCheckError due to a failed type check
X::TypeCheck::AssignmentError due to a failed type check during assignment
X::TypeCheck::BindingError due to a failed type check during binding
X::TypeCheck::ReturnError due to a failed typecheck during C<return>
X::TypeCheck::SpliceCompilation error due to a macro trying to splice a non-AST value
X::UndeclaredCompilation error due to an undeclared symbol
fundamental
metamodel
Metamodel::AttributeContainerMetaobject that can hold attributes
Metamodel::C3MROMetaobject that supports the C3 method resolution order
Metamodel::ClassHOWMetaobject representing a Raku class.
Metamodel::ConcreteRoleHOWProvides an implementation of a concrete instance of a role
Metamodel::CurriedRoleHOWSupport for parameterized roles that have not been instantiated
Metamodel::DefiniteHOWMetaobject for type definiteness
Metamodel::EnumHOWMetaobject representing a Raku enum.
Metamodel::FinalizationMetaobject supporting object finalization
Metamodel::MROBasedMethodDispatchMetaobject that supports resolving inherited methods
Metamodel::MethodContainerMetaobject that supports storing and introspecting methods
Metamodel::MixinsMetaobject for generating mixins
Metamodel::MultipleInheritanceMetaobject that supports multiple inheritance
Metamodel::NamingMetaobject that supports named types
Metamodel::PackageHOWMetaobject representing a Raku package.
Metamodel::ParametricRoleGroupHOWRepresents a group of roles with different parameterizations
Metamodel::ParametricRoleHOWRepresents a non-instantiated, parameterized, role.
Metamodel::PrimitivesMetaobject that supports low-level type operations
Metamodel::PrivateMethodContainerMetaobject that supports private methods
Metamodel::RoleContainerMetaobject that supports holding/containing roles
Metamodel::RolePunningMetaobject that supports I<punning> of roles.
Metamodel::TrustingMetaobject that supports trust relations between types