2001-2002 Grant Report: Dan Sugalski


Dan has been a member of the Perl Community for a number of years primarily doing work on the VMS port of Perl. He is currently the internals designer for Parrot, the interpreter engine for Perl 6. We think he dreams in VAX assembler. The work on Parrot has progressed with the aid of the grant since Dan had more time to devote to the project. We are excited to have been able to offer this opportunity and hope we will be able to continue aiding the development of the Parrot engine in the future.

Dan notes the following as the most critical benefits of TPF funding his work:

The biggest thing the grants have done is give me time. Time to think, time to plan, and time to balance engineering tradeoffs. Designing the software to efficiently run perl 6 is a big job, much bigger than I originally thought it was going to be.

Before the grant, I could tackle things in bits and pieces. That works OK, but I had to take each piece individually--there wasn't time enough to consider things as a whole. Because of that, the pieces weren't fitting together well, and progress on the design was slow.

The grant made it possible for me to think just about the design of the engine. That was important. Perl 6 is much bigger than perl 5. Normally with software this size, there'll be a half-dozen people in the core team designing things, but since the folks involved are volunteers and scattered around the world we can't do that. It's just not feasible. That makes it even more important to be able to sit down and get the design right.

While we're not done, the grant's directly responsible for the design and the code being as finished as they are, and perl 6 will be both faster and better for it.


  • Interpreter now functional and working
  • Garbage collection system working
  • IO system working
  • Dynamic code loading working
  • Global variables working
  • Perl 5-sufficient PMC classes working

Community outreach:

  • Conference presentations at PythonCon 10, YAPC::NA 2002, TPC 6
  • Users Group presentations to Phoenix.PM, Washington.PM, Philly.PM, Camel.PM, NY.PM, and Boston.PM
  • Posting/participation at use.perl.org
  • Posting/participation at perlmonks.org
  • Three articles in The Perl Review
  • Q&A session with Perlmonks
  • Q&A session on RubyGarden
  • Involved ruby developers in Parrot design


  • Fundraising events in Phoenix, AZ and NY, NY.
  • Fundraising contact at Morgan Stanley, Blackboard, OpenDesk