Parrot virtual machine

E554891

Parrot virtual machine is a now-discontinued register-based virtual machine designed to efficiently run dynamic programming languages, originally developed for the Perl 6 (Raku) project.

All labels observed (5)

How this entity was disambiguated

Statements (56)

Predicate Object
instanceOf bytecode interpreter
dynamic language runtime
free and open-source software
register-based virtual machine
virtual machine
associatedWithCommunity Perl community
associatedWithProject Perl 6 development
designedFor dynamic programming languages
developmentStarted early 2000s
developmentStatus discontinued
executionModel register-based
hasComponent Parrot Assembly Language (PASL/PASM)
Parrot Compiler Toolkit (PCT)
Parrot Intermediate Representation (PIR)
Parrot JIT subsystem
Parrot Opcode Library
Parrot bytecode
Parrot embedding API
Parrot extension mechanism
Parrot garbage collector
Parrot packfile format
hasFeature PMC (Parrot Magic Cookie) objects
dynamic opcode loading
embedding in host applications
extensible type system
multiple garbage collection strategies
pluggable run cores
portable bytecode format
influenced MoarVM
license Artistic License 2.0
nameOrigin named after the parrot in "Programming Perl" book jokes
originallyDevelopedFor Perl 6
linked to: Perl 6 project

Raku
repositoryHost GitHub (historically also Subversion and other hosts)
stableReleaseStatus no longer actively maintained
supports bytecode execution
closures
continuations
coroutines
exceptions
foreign function interface
garbage collection
just-in-time compilation
lexical scoping
multiple dispatch
object-oriented programming
threads
supportsLanguage JavaScript (via various experimental projects)
linked to: JavaScript

PHP (via Pipp and other projects)
Perl 5 (via projects such as Ponie)
Perl 6
linked to: Perl 6 project

Python (via Pynie and other projects)
linked to: Python

Raku
Ruby (via Cardinal and other projects)
targetPlatform cross-platform
writtenInLanguage C

How these facts were elicited

Referenced by (5)

Full triples — surface form annotated when it differs from this entity's canonical label.

Artistic License 2.0 usedBy Parrot virtual machine
Parrot virtual machine hasComponent Parrot Intermediate Representation (PIR)
linked to: Parrot virtual machine
Parrot virtual machine hasComponent Parrot Assembly Language (PASL/PASM)
linked to: Parrot virtual machine
Parrot virtual machine hasComponent Parrot Opcode Library
linked to: Parrot virtual machine
Parrot virtual machine hasComponent Parrot JIT subsystem
linked to: Parrot virtual machine