Project to add cairo support to Gtk2Hs wins Google Summer of Code grant

We are very pleased to announce that Paolo Martini’s project proposal to add support for the new cairo vector graphics library to Gtk2Hs has been selected to receive a grant in Google’s Summer of Code programme. This will make it possible to create GUIs in Haskell that take advantage of cairo’s sophisticated vector graphics capabilities and its high quality display and print output.

Paolo now has until the beginning of September to complete the project and receive the full $4500 grant. I know everyone will join me in wishing him the best of luck! Paolo is maintaining a blog about his project (and there is an rss feed).

We would also like to thank Google for recognising the importance of supporting projects like Gtk2Hs and hscairo that aim to make Haskell an even more versatile programming system.

Read on for Paolo’s full project proposal…

Paolo’s project proposal:

Cairo and Gtk+2 Haskell bindings and integration

I’m looking forward to help the developement and the integration of those two projects, giving to the most beautiful and powerful language (Haskell) the bindings to the best vector graphics library (cairo) integrated with the best GUI library available at the moment (Gtk2).

Current situation:

  • Gtk2Hs is looking forward for contribution about cairo integration [1].
  • hscairo [2] needs to be upgraded to the last cairo API (there has been a bit of API churn between cairo 0.4 and 0.5)
  • Gtk2Hs and hscairo are using different properties API [3] and [4].


  • I’m in touch with Duncan Coutts [5], a core Gtk2hs developer, with whom I’m planning the technical details of the improvement and integration.
  • Brainstorming with the actual hscairo author to get a good picture of what he thinks needs to be done is also needed.
  • Actually develop the integration of hscairo in Gtk2hs either by absorbing the project or having it externally depended.

About me:

I’m a nineteen years old student in Turin, northern Italy, deeply involved in computer science - expecially in studying new/cool paradigms and programming languages. Coming from low-level languages such as C/asm, passing through higher level languages such as Perl/python, now I’m deeply involved in the functional programming: i.e. Scheme, Lisp, and much, much Haskell.
I worked with cairo before: I helped Gilbert Baumann with the developement of Common Lisp cairo bindings [6].


  3. c2hs:
  4. hsc2hs:
  5. duncan.coutts@[...]

Comments are closed.