[Haskell-cafe] Open-source projects for beginning Haskell students?

Christopher Done chrisdone at googlemail.com
Fri Mar 16 22:07:51 CET 2012

On 16 March 2012 21:28, Brent Yorgey <byorgey at seas.upenn.edu> wrote:
> So I'd like to do it again this time around, and am looking for
> particular projects I can suggest to them.  Do you have an open-source
> project with a few well-specified tasks that a relative beginner (see
> below) could reasonably make a contribution towards in the space of
> about four weeks? I'm aware that most tasks don't fit that profile,
> but even complex projects usually have a few "simple-ish" tasks that
> haven't yet been done just because "no one has gotten around to it
> yet".

I have a bunch of small Haskell projects and I would enjoy helping
someone contribute to them. The problem would be finding projects that
are actually interesting to a student. The only ones I can think of,
that are trivial to work on, are:

* https://github.com/chrisdone/freenect  Requires a Kinect device
(your students have X-Box right?). This is my Kinect interface. Who
doesn't love devices with video and depth perception? Currently it
only supports depth perception, as that's all I wanted from it, but
one could fairly straight-forwardly add video support. This would
require some mentoring and helping along as it requires not only
Haskell knowledge, but it needs some C code and using the FFI. It took
me a weekend to figure out and write the depth perception part, with
help a newbie could tackle video within four weeks. Alternatively --
there's also the opportunity to write some simple motion detection
stuff with the existing code.

* https://github.com/chrisdone/stepeval This is benmachine's project
to evaluate Haskell in steps. It's currently on hpaste.org, but it's
rather incomplete. Fleshing this out to support more syntax would be
nice. Not sure if this is actually interesting to anyone else. But
it's a good way to solidify your understanding of Haskell's evaluation
model and syntax, maybe.

* https://github.com/chrisdone/css Making this very trivial CSS
library well-typed could be easy and useful.

* https://github.com/chrisdone/wordnik A little interface to the
Wordnik online dictionary service. I kinda started this but didn't
finish it. Once done though we can send it to Wordnik and they'll for
sure stick it on their libraries page.

* https://github.com/chrisdone/amelie (hpaste.org) The only one that
is relevant to the Haskell community, but I don't have any features
that need doing on it, as far as I'm aware. I think the code is fairly
easy to grok, though. Could be an opportunity for adding some feature,
and it'll be used by a fair chunk of the Haskell community.

* https://github.com/chrisdone/pgsql-simple The PostgreSQL library
that amelie uses, it's a raw tcp/ip socket interface to the server,
fairly trivial and yet interesting (to me) and useful. Needs more
authentication methods, and I have some opportunities for optimizing
some things. Tests and benchmarks for it would be good too, and
probably easy to write.

* https://github.com/chrisdone/hulk My IRC server that we use at work
could do with a better logging mechanism than a file full of JSON.
Probably a DB backend. I don't know if any student would care at all
about such a project.

Yeah… I don't really work on interesting projects, I won't bother
listing the rest. Nor are they a big deal for the community. I'm sure
the Hackage2 guys can do with some help. The ecosystem of Yesod,
Happstack and Snap always has a bunch of libraries that could do with
some fleshing out, I'd estimate. Another idea might be hacking on
Leksah, which can always have more features.


More information about the Haskell-Cafe mailing list