laclefblog logo

Thu, 19 Mar 2009

Parrot 1.0

というわけで、遂に1.0リリース。

早速(と言ってもリリース当日からサーバに繋がらなくて不貞腐れたが)、SVNからダウンロード&インストール。

$ svn co https://svn.parrot.org/parrot/trunk parrot_svn
$ cd parrot_svn
$ perl Configure.pl
$ make
$ make test

examplesフォルダに色々あるので読んで遊んでみる。

Parrot版Pythonインタプリタである pynie もParrot 1.0で動作させてみる。

$ svn co http://pynie.googlecode.com/svn/trunk/ pynie_svn
$ cd pynie_svn
$ ln -s ~/src/parrot_svn parrot
$ perl Configure.pl
$ make
$ ldd pynie
  linux-gate.so.1 =>  (0xb7f13000)
  libparrot.so.1.0.0 => /home/yoshiyasu/src/parrot_svn/blib/lib/libparrot.so.1.0.0 (0xb7988000)
  libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0xb7973000)
  libm.so.6 => /lib/tls/i686/cmov/libm.so.6 (0xb794c000)
  libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0xb7933000)
  libcrypt.so.1 => /lib/tls/i686/cmov/libcrypt.so.1 (0xb7901000)
  libgmp.so.3 => /usr/lib/libgmp.so.3 (0xb78ba000)
  libreadline.so.5 => /lib/libreadline.so.5 (0xb7889000)
  libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb772b000)
  /lib/ld-linux.so.2 (0xb7ef9000)
  libncurses.so.5 => /lib/libncurses.so.5 (0xb76fa000)

pynieのexamplesに含まれるプログラムの中で、ex-3-2-[ab].pyは動作しない。エラーメッセージは "Null PMC access in cmp()"。

$ python
Python 2.5.2 (r252:60911, Oct  5 2008, 19:24:49)
[GCC 4.3.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> a, b = 1, 2
>>> print("a = %d, b = %d" % (a, b))
a = 1, b = 2
>>>
$ ./pynie
Pynie: a Python compiler for Parrot.
>>> a, b = 1, 2
>>> print(a)
2
>>> print(b)
Null PMC access in get_string()
>>>

というわけで、動作は遅いし、まだまだ周りの足並みも揃っていない程未完成だが、動的言語VMとしてのParrotが面白いものになれば良いと思う。