もともとは独自のJITコンパイラを開発していたが、2009年のバージョン1.7.0で放棄された。将来的には、LLVMやnanojitなどの既存のJITライブラリを利用して新しいコンパイラを用意するとしている。
Parrot のコードには3つの形態がある。バイトコード(Parrot Bytecode, PBC)はネイティブでParrotに解釈される機械語であり、ほかの2つのコードはIMCC(旧バージョン)またはPIRC(新バージョン)によってバイトコードにコンパイルされる中間言語である。アセンブリ言語(Parrot Assembly Language, PASM) は、バイトコードにほぼ1対1で対応する低レベルの言語である。Parrot intermediate representation (PIR) はPASMより若干高レベルの言語であるが、直接バイトコードにコンパイルすることができる。Parrot上で動作させる言語処理系は、普通はPASMより扱いやすいPIRへのコンパイラを実装する。PIRを使うと、Parrotのルーチン間の呼び出し規約の違いを管理・吸収し、またより実効効率のよい命令への変換(命令選択, instruction selection)や、変数のレジスタ割り付けやメモリ退避（レジスタスピル) などの最適化を個別に実装することなくParrot (IMCCやPIRC) に任せることができる。
Rubyコミュニティの一部にParrotに対する強い興味がある。すでにPythonからマシンコードへのJITコンパイラPsycoや、Python からバイドコードへのコンパイラJython、.NETプラットフォームへのコンパイラ IronPython、現在開発中の高レベルの最適化や静的なコード生成を目的としたPyPyなどがあるため、Pythonコミュニティは見守る様子を見せている。
予定されているPerl 6のサブセットに加えて、多数のプログラム言語がParrot assembly languageにコンパイルできるようにすることが次々に計画されている。 APL、BASIC、Befunge、Brainfuck、Cola、Forth、Jako、LISP、m4、Miniperl、Parakeet、OpenComal、PHP、Plot、Pheme、Punie、 Python、Ruby、Scheme、Span、Tcl（別名partcl）、URM、YAL、Zork Z-codeなどである。しかし、これらの言語の実装のほとんどは、まだ不完全であったり、実験的であったり、さらに放棄されてしまったりしている。
Parrotはコンパイラ作成ツールセットを提供している。再帰下降構文解析や演算子順位パーサーを表現できるハイブリッドのParser Grammar Engine (PGE) を備えており、この2つを同じ文法で自由に遷移できる。PGEはTree Grammar Engine (TGE) に解析結果を与え、TGE は最適化のため、究極的にはコード生成のために、PGE が作成した解析構文木を変換する。
Parrotは、クロージャや継続などの、いずれも例外処理やマルチスレッドと組み合わせた場合には、正しくかつ移植性を保って実現するのが特に難しいような関数型プログラミングの機能を数多くサポートしている。こうした問題を仮想マシンのレベルで解決することにより、Parrotのクライアント言語で実現する労力を著しく軽減することができる。
静的な型付けと動的な型付け言語の異なる性質がParrotの開発の動機となっている。 現在のJava仮想マシンや共通言語ランタイム (CLR) などの人気のある仮想マシンは、静的に型付けされた言語のために開発されているが、Parrotが対象としている言語は動的な型付けのものである。また、Java仮想マシンや現行のPerl 5 仮想マシンはスタックマシンである。Parrotの開発者達は、Parrotがレジスタを備えているため実際のハードウェアの設計に近く、バイトコードを機械語に近い速度で動作させるためにこれまでの膨大なコンパイラ最適化の学術的な資産をParrot仮想マシン用のコード生成に利用できる利点があると考えている。
プロジェクトはPerl 6を実装するために始まり、非常に長い時間、「Perl 6 を動作させるために開発中のソフトウェア」であった。Parrotという名前は、「新しい想像上の言語 Parrot がPythonとPerlを統一するとアナウンスされた」という、エイプリルフールのジョークに由来している。後に、PerlとPythonをサポートすることが目的で、プロジェクトはこの名前を採用した。Parrot仮想マシンで動作するよう、複数の言語がParrotとともに開発されている。2009年3月17日にバージョン1.0がリリースされた。"Haru Tatsu" というコードネームがついている。過去のバージョンのリリースの日付は、Parrot のウェブサイトに記載されている。
前述のように本作開発者のVadim Gilyazetdinovは長年の『くにおくん』シリーズファンで、子供時代には、文章が翻訳されておらず理解できないながらも物語を想像しつつ友達とプレイしていた。それから年月が経ち、Gilyazetdinovはくにおくんシリーズのファンサイトをロシアで開設、一方でテクノスジャパンの素材を使用した同人ゲームの制作も始める。ゲームの多くは小規模なものだったが並行して大規模ゲームの開発にも取り組み、その作品名を『Ryuichi no Blues』、後に『Friends of Riki Samejima』と付けた。そうした中でGilyazetdinovは一念発起し、既存の素材に頼らないオリジナルゲームの制作を開始した。制作にあたり、Gilyazetdinovはクリエイターを探すことになった。まずは背景画像アーティスト探しに取り掛かり、当初は次々に拒否され企画内容を酷評されることもあったが、最終的にドット絵のイラストレーター・Wedmak2の協力を得てGilyazetdinovの期待通りのグラフィックが出来上がった。続いてゲーム内キャラクターを描くアーティスト探しを行なったがこちらも難航し、Gilyazetdinovが失意に暮れていたところ、見かねた父親が名乗りを上げた。父親はそれまでコンピュータ上で絵を描いた経験が無かったが、Windows内ペイントソフト「ペイント」で一から勉強を始め、Gilyazetdinovが見せる動きを父親がゲーム用の絵に落とし込む形式で共同作業が行われた。一方でBGMの作曲家を見つけることはできず、作中音楽の9割はフリー素材が用いられている。