This project can be thought of as porting a subset Math::GSL to Parrot.
There are many GSL subsystems, so this project should focus on binding to Special Function, Random Distributions and Cumulative Distribution Functions (CDFs), which have the simplest function signatures. Deliverables will be the implementation, examples, docs and tests.
This period I will spent on read documentation to parrot, also see examples of GSL library.
At this time I will start making first steps, maybe refresh knowledge of math functions and understand some parts of GSL library "weak" places (if they exists).
Ok, after find all functions that I need to bind, I will start with Random functions. I will bind not all, but only that functions, that doesn't use special functions (like gamma), because it will be next step.
This time I will spent for Special functions and other Random functions, that use Special. Also, this period I will write tests connected to random functions. (as a part I will write test for special functions)
Last part is CDF functions. Write binding and also write tests here. Also, put documentation for all other functions.
here I will add last CDF function. If I were lazy, I will add others, too. Just a joke :) At this time I will think about more simple deployment of these functions. (find dependences, duplicate code, etc.)
Code cleaning, I think. Here I will rename variables, helpers-functions and other.
Midterm. If I really did my plan, I will be glad. :)
Nope, I will write examples, If all tests are good enough. Clean documentation.
As I know, after a midterm, I will find troubles, bugs. So, fix them.
If all be alright, all work will done here, but not. Rewriting code (that will be written at the beginning, adding more flexibility and restrictions).
Last work will be done here. Add classes here and oop-paradigm.
Restructuring code, add examples and tests.
Create beautiful code here. It is necessary, that people want to support it.
Ok, here work will done. Tests will not be broken. Documentation will be good enough for reading.
Submit code to Google. If all ok, I will merging it with master.
Good start! Mention specific functions that will and will not be included. Which functions have the simplest signatures? Which have slightly more complex signatures? The more research you do now, the easier it will be later on. I promise :)