Howtos Archives

Welcome, and say Hello to my friend Plumage

Stability seems to be coming to these shores, so I guess it's about time I created an account here and started posting. For a while at least, most of my posts will be about Plumage, for which I am the current lead developer.

Plumage is a cross-language module ecosystem, designed to work with CPAN, LuaRocks, RubyGems, Rake, distutils, and so on. Plumage itself is implemented in NQP (Not Quite Perl 6), which is part of the PCT toolset used to implement languages and modules for Parrot.

The original design document for Plumage is available on the Parrot wiki, and the source repository is hosted on Gitorious. You can check it out by doing the following:

# Fetch, build, and 'make install' parrot first.  Then:
$ git clone git://
$ cd parrot-plumage
$ parrot-nqp Configure.nqp
$ make
$ make test

Now you can install a language:

$ ./plumage install rakudo

And maybe some modules:

$ ./plumage install mt19937 parrot-linear-algebra

If you want to see what dependencies are needed by a particular project, Plumage can help:

$ ./plumage showdeps lua-batteries

There's already a lot more that Plumage can do; this will give you a quick list:

$ ./plumage usage

So that's the first taste of things to come -- please give it a try and don't be shy with comments or suggestions.

You can follow Plumage's progress here or on twitter or; or for the real time experience, come by #parrot and chat us up:

About Geoffrey Broadwell

user-pic My JAPH side: Perl 5, Perl 6, Parrot, Plumage, oPenGL (cough). See also and