Hi Folks! I'll be your biat.. er SoC student for the following 3 months...

Thomas Schilling nominolo at googlemail.com
Sat May 26 20:22:22 EDT 2007


.. and as you probably all know, I am going to implement
cabal-configurations.  (And for those who didn't know--SoC stands for
Summer of Code and Google pays me for fixing your problems!) My mentor
is Isaac Jones, aka. SyntaxNinja.

I'll be working based on this e-mail
http://www.mail-archive.com/cabal-devel@haskell.org/msg00195.html, as
this is the one linked from the bug tracker.  I'll also consider the
previous discussions on this mailing list as some guidelines
(motivation, ideas behind it, etc.).

Here's a snipped of the official project timeline
(http://code.google.com/support/bin/answer.py?answer=60325&topic=10729):

.-----------------------------------------------------
May 28: Students begin coding for their GSoC projects; Google begins
issuing initial student payments

Interim Period: Mentors give students a helping hand and guidance on
their projects

July 9: Students upload code to code.google.com/hosting; mentors begin
mid-term evaluations

July 16: Mid-term evaluation deadline; Google begins issuing mid-term
student payments

August 20: Students upload code to code.google.com/hosting; mentors
begin final evaluations; students begin final program evaluations

August 31: Final evaluation deadline; Google begins issuing student
and mentoring organization payments
'-----------------------------------------------------

There are some minor modifications I have to / want to make.  Firstly,
I'll won't be able to work full time for the first two weeks as I have
exams in the first and a summer course in the second.  In essence, I
assume that I'll work about half the time.  Secondly, I plan to use
darcs locally and push to some haskell.org SoC repo every day; this
way I can't be blamed for loss of work if my disk crashes and you can
see (and maybe even use) my latest version.  Isaac also suggested that
I maintain a wiki page where I post weekly progress reports.  My blog
is on Planet Haskell, but I'd rather not spam this with this kind of
stuff.  (But I will use it for announcing notable progress that might
be helpful for others, or for getting attention/input on certain
community-relevant design decisions.)

The current schedule Isaac and I have put up looks roughly like this:

Week 1: Parser & unit tests for parser
 - This should be relatively straightforward.  I'll refrain from using
Parsec, though, in order to avoid dependecies.

Week 2-3: Constraint solver implementation and testing
 - I'll start with the naive algorithm, but I guess I need to add some
more clever testing.

After that, we, in principle, have cabal-configurations.  But I'm
afraid that's just the beginning of the real work.

Week 4: Study a variety of packages and their needs, select a handful
to write configurations for (I plan to ask for some suggestions a bit
earlier).  Write the configurations and suggest any needed
improvements to syntax or capabilities (discuss on list).  Post
examples for everyone to look at (using IRC, wiki, and list).

Week 5-8: Most likely there will come up some problems, feature
request bug-reports or similar.  I therefore reserve these for
handling those tasks.  Due to latency of communication over internet,
I'll probably have some time to fill.  But I guess the bug tracker
will always be helpful with that.

Week 9: Integration into mainline Cabal branch and work with Duncan to
prepare a release candidate.  (Might be scheduled earlier if things go
well)

Week 10-12: Analyze most important Cabal bugs and fix them, meanwhile,
support release candidate.
 _
|_|

This is obviously a rather loose schedule, so if you have any
comments/critics/suggestions, feel free to post them here.

Regards,

/ Thomas

PS:  Duncan / Isaac, can one of you get me that darcs + trac account?
(If I don't get any response here, I'll try again in private.)

-- 
"Remember! Everytime you say 'Web 2.0' God kills a startup!" -
userfriendly.org, Jul 31, 2006


More information about the cabal-devel mailing list