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

module

uncategorised