GSoC/GCI Archive
Google Code-in 2011 Parrot Foundation

Implement nl utility using Winxed and Rosella

completed by: Ayanami Rei

mentors: Andrew Whitworth

Task Description

Implement a clone of the Unix nl utility using Winxed and Rosella. The utility should implement the -a and -t commandline switches. It may, but does not need to, implement other command-line arguments such as --help or --version. You should use the Winxed programming language and the Rosella libraries for this task.

You will probably want to use the Rosella String library, and maybe Stream functionality from the Rosella Query library. You may also want to use the experimental CommandLine library for parsing command-line arguments. The exact functionality you choose to employ is left to your discretion. This utility will be used as an example program for the Winxed/Rosella online documentation.

Steps To Complete This Task

  1. Install Parrot (Winxed is installed with Parrot)
  2. Create a fork of Rosella.git on
  3. Build and install Rosella, and checkout the gh-pages branch
  4. Write your example utility in a new code file
  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 code example will help to demonstrate Winxed code syntax and Rosella library usage, and will help new coders to become familiar with these tools more quickly.


  1. Knowledge of C#, Java, or JavaScript (Winxed is based on these and has similar syntax)
  2. Familiarity with the Unix nl utility

Additional Links