Parrot Tutorial on Parrot Overview

when we feed our program into conventional perl, it is first compiled into an internal representation, or bytecode; this bytecode is then fed into almost separate subsystem inside perl to be interpreted. so there are two distinct phases of perl's operation:

  • compilation to bytecode and

  • interpretation of bytecode.

this is not unique to perl. other languages following this design include python, ruby, tcl and even java.

we also know that there is a java virtual machine (jvm) which is a platform independent execution environment that converts java bytecode into machine language and executes it. if you understand this concept then you will understand parrot.

parrot is a virtual machine designed to efficiently compile and execute bytecode for interpreted languages. parrot is the target for the final perl 6 compiler, and is used as a backend for pugs, as well as variety of other languages like tcl, ruby, python etc.

parrot has been written using most popular language "c".