GSoC/GCI Archive
Google Code-in 2011 Parrot Foundation

Implement ls program using Winxed and Rosella

completed by: Ayanami Rei

mentors: Andrew Whitworth

Task Description

Implement a basic clone of the "ls" unix commandline utility for Parrot using the Winxed language and the Rosella libraries. The utility should be able to list utilities from the current directory or from a different directory specified on the command line. You may, but do not need to, implement other command-line options such as --help, -a, or -l.

You should use the Rosella FileSystem library. You may also consider using the experimental CommandLine library to make parsing command-line arguments easier.

Output formatting is not important, for the purposes of this project. 

Steps To Complete This Task

  1. Create a fork of parrot.git on
  2. Perform all the necessary code and/or documentation changes
  3. Build parrot and run it's test suite (make fulltest) to verify that things still work
  4. You can also submit a smoke report with "make smoke", but that is optional. This requires installing a few Perl modules from CPAN.
  5. Create a Github pull request (button on the upper right of your fork) to have your changes incorporated into the master repository


  1. This utility will be added as an example of using Rosella and Winxed to project documentation, and will help to demonstrate concepts to use users.


  1. Familiarity with Java, C# and/or JavaScript (Winxed is based on these and is similar to them)
  2. Familiarity with the Unix "ls" utility

Additional Links