From HaskellWiki
< ZuriHac2016
Revision as of 10:02, 8 July 2016 by Jasper Van der Jeugt (talk | contribs) (OpenCV 3.1 Haskell binding)

Jump to: navigation, search


Contact: Philipp Hausmann

Homepage: http://wiki.portal.chalmers.se/agda/pmwiki.php

Required skill level: Advanced

Agda is a dependently-typed functional programming language implemented in Haskell. The plan is to improve the current IO support in the Standard Library/Prelude and maybe fix a bug or two in the Agda Compiler Backends.


Contact: Vincent Hanquez

Homepage: https://github.com/haskell-crypto/cryptonite

Required skill level: Advanced

Discussion about Local Haskell Clubs

Contact: José-Paul Dominguez

Required skill level: Beginner

The Grenoble Haskell club is a project I envisaged with Jérémy, who is attenting ZuriHac2016 too. We would like to bring Haskell to our University with a "student club", open to everybody. Anyone could propose talks, projects, materials around Haskell in order to learn, teach, try and have fun.

I thought it might be insteresting to discuss about it with people. Being myself a recent "Haskeller" I find it quite hard sometimes to catch people's interest about Haskell. Maybe experienced Haskell programmers will be interested by giving tips or eventually getting involved.


Contact: Jasper Van der Jeugt

Homepage: http://jaspervdj.be/hakyll

Required skill level: Beginner

Suggested work:

Haskell IDE Engine

Contact: Moritz Kiefer

Homepage: https://github.com/haskell/haskell-ide-engine


Contact: Léonard Monnier

Homepage: https://github.com/momomimachli/Hedsql

Required skill level: Beginner

By order of difficulty, the following things could be done:

Data.Text support

Level: beginner

Description: use Data.Text instead of String

Injection tests

Level: beginner in Haskell, solid SQL knowledge

Description: ensure that the library is dealing correctly against SQL injection.

Database tests

Level: beginner/intermediate

Description: write the integration tests against real databases (SqLite, PostgreSQL and MariaDB).

Add new SQL functionalities

Level: intermediate Description:

Add support to additional SQL functions such as:

  • ALTER statements
  • types (such as time-stamp, date, etc.)
  • various SQL vendor functions such as "sqlite3_last_insert_rowid()" for example.

It implies to work through the full stack:

  • create a new function/datatype in the AST
  • create a new constructor function to generate the AST
  • create new parser(s) function(s) to generate the SQL code.


Level: expert

Description: the library is currently using a State Monad for writing SELECT queries, but maybe there is a better way.


Work on the list of Opaleye enhancements

Contact: Tom Ellis

Homepage: https://hackage.haskell.org/package/opaleye

Required skill level: Advanced

OpenCV 3.1 Haskell binding

Homepage: https://github.com/LumiGuide/haskell-opencv

Contact: Bas van Dijk

Required skill level: Expert

haskell-opencv is an in-development opensource Haskell binding to the popular OpenCV-3.1 C++ Computer Vision library. Note that other Haskell OpenCV bindings already exist but these target the older 2.4 version of OpenCV.

The library comes with haddock documentation. Example programs are embedded in the documentation and are automatically build and run as part of the test-suite. They output images which are referenced from the documentation. Besides documentation the library also comes with a test-suite and the beginning of a benchmark suite. Finally, the library is already being used in production by LumiGuide for detecting available space to park your bicycle or car in big parking facilities.

The library is not finished yet. A lot of functions still need to be bound. However, the basis is there to easily bind missing functionality. All the core pieces are in place: core datatypes like points, sizes, polygons and most importantly matrices are there. It's also easy to bind missing datatypes. We use inline-c to inline C++ code in our Haskell code. We also have a way of dealing with exceptions originating from C++ code.

The goal of this ZuriHac project is simply to bind more functionality. Roel and Bas will be available as mentors and can help you get started quickly and provide advice on how to best represent OpenCV functions in Haskell.

Hadrian (Shaking up GHC)

Contact: Andrey Mokhov

Homepage: https://github.com/snowleopard/hadrian

Required skill level: Advanced

Hadrian is a new build system for the Glasgow Haskell Compiler. It is based on the Shake library and we hope that it will eventually replace the current make-based build system. You can find more details about the motivation behind this project and our implementation approach in this document.

Hadrian is a work in progress, and there are still many issues that need to be solved before we can match the capabilities of the old build system. Join this project if you'd like to help.


Contact: Alexander Thiemann

Homepage: https://www.spock.li

Required skill level: Advanced


Contact: Ian-Woo Kim

Homepage: http://ianwookim.org/hoodle

Required skill level: Advanced

Hoodle is a pen notetaking program written almost entirely in Haskell. It's one of rather rare GUI programs in Haskell world. Recently, I upgraded hoodle to use Gtk3, and therefore much modernized and easier to be ported to other platform natively. In this hackathon, I would like to stabilize this Gtk3 port and want to try to port the program to many different platform (especially targetting OS X and hopefully windows), and modernize tablet input part to use gtk3 counterpart, not use custom X11 C FFI. I also want to add some shiny new features if possible during the hackathon.