PMCs are Parrot's internal "classes". There are currently 5 abstract PMCs and 74 concrete PMCs.

Tools ^

PMC-related tools.

tools/dev/gen_class.pl
Create a template PMC file.

Abstract PMCs ^

These PMCs are not instantiated.

src/classes/default.pmc
Abstract root class.

src/classes/deleg_pmc.pmc
Delegate PMC.

src/classes/delegate.pmc
Delegate PMC.

src/classes/perlscalar.pmc
Perl Scalar.

src/classes/scalar.pmc
Scalar Abstract Superclass.

Concrete PMCs ^

These PMCs are instantiated.

src/classes/addrregistry.pmc
A DOD Registry PMC.

src/classes/array.pmc
Array PMC.

src/classes/bigint.pmc
BigInt PMC class.

src/classes/boolean.pmc
Boolean PMC.

src/classes/bound_nci.pmc
Bound internal method.

src/classes/closure.pmc
Closure PMC.

src/classes/compiler.pmc
Compiler PMC.

src/classes/complex.pmc
Complex Numbers PMC Class.

src/classes/continuation.pmc
Continuation PMC.

src/classes/coroutine.pmc
Co-Routine PMC.

src/classes/csub.pmc
C Subroutine PMC.

src/classes/enumerate.pmc
enumerate PMC.

src/classes/env.pmc
System Environment.

src/classes/eval.pmc
Dynamic code evaluation.

src/classes/exception.pmc
Exception PMC.

src/classes/exception_handler.pmc
Exception Handler PMC.

src/classes/fixedbooleanarray.pmc
fixed size array for booleans only.

src/classes/fixedfloatarray.pmc
fixed size array for floating point numbers only.

src/classes/fixedintegerarray.pmc
fixed size array for integers only.

src/classes/fixedpmcarray.pmc
fixed size array for PMCs only.

src/classes/fixedstringarray.pmc
fixed size array for strings only.

src/classes/float.pmc
Floating-point number.

src/classes/floatvalarray.pmc
Array of FLOATVALs.

src/classes/hash.pmc
Hash PMC.

src/classes/integer.pmc
Integer PMC class.

src/classes/intlist.pmc
Array of integers.

src/classes/iterator.pmc
Iterator PMC.

src/classes/key.pmc
Key PMC.

src/classes/lexinfo.pmc
LexInfo PMC.

src/classes/lexpad.pmc
LexPad PMC.

src/classes/managedstruct.pmc

src/classes/multiarray.pmc
Multi-dimensional Array.

src/classes/multisub.pmc
A container for Perl6 mutli subs.

src/classes/nci.pmc
Native Call Interface.

src/classes/none.pmc
NULL.

src/classes/null.pmc
NULL.

src/classes/orderedhash.pmc
Ordered Hash.

src/classes/os.pmc
Files and Directories PMC.

src/classes/pair.pmc
Pair PMC.

src/classes/parrotclass.pmc
Parrot Class.

src/classes/parrotinterpreter.pmc
Parrot Interpreter.

src/classes/parrotio.pmc
Parrot IO.

src/classes/parrotlibrary.pmc
Dynamic Library.

src/classes/parrotobject.pmc
Parrot Object.

src/classes/parrotthread.pmc
Threaded Interpreter.

src/classes/perlarray.pmc
Perl Array.

src/classes/perlenv.pmc
Perl System Environment.

src/classes/perlhash.pmc
Perl Hash.

src/classes/perlint.pmc
Perl Integer.

src/classes/perlnum.pmc
Perl Floating-Point Number.

src/classes/perlstring.pmc
Perl String.

src/classes/perlundef.pmc
Perl Undef.

src/classes/pointer.pmc
Pointer.

src/classes/random.pmc
Random Numbers.

src/classes/ref.pmc
Reference to a PMC.

src/classes/resizablebooleanarray.pmc
resizable array for booleans only.

src/classes/resizablefloatarray.pmc
resizable array for floating point.

src/classes/resizableintegerarray.pmc
resizable array for integers only.

src/classes/resizablepmcarray.pmc
resizable array for PMCs only.

src/classes/resizablestringarray.pmc
resizable array for strings only.

src/classes/retcontinuation.pmc
Return Continuation.

src/classes/sarray.pmc
Subroutine Parameter Array.

src/classes/sharedref.pmc
Shared PMC Reference.

src/classes/slice.pmc
Slice PMC.

src/classes/string.pmc
String PMC Class.

src/classes/stringarray.pmc
String-only array class.

src/classes/sub.pmc
Subroutine.

src/classes/super.pmc
Super Class.

src/classes/timer.pmc
Timer.

src/classes/tqueue.pmc
Threadsafe Queue.

src/classes/undef.pmc
Generic undefined value.

src/classes/unmanagedstruct.pmc
C struct with unmanaged memory.

src/classes/version.pmc
Version information.

src/classes/vtablecache.pmc
Hold a vtable pointer for later use.


parrot