Personal tools

ZuriHac2016/Projects

From HaskellWiki

< ZuriHac2016(Difference between revisions)
Jump to: navigation, search
Line 102: Line 102:
 
'''Required skill level''': Expert
 
'''Required skill level''': Expert
  
= Shaking up GHC =
+
= Hadrian (Shaking up GHC) =
  
 
'''Contact''': Andrey Mokhov
 
'''Contact''': Andrey Mokhov
Line 109: Line 109:
  
 
'''Required skill level''': Advanced
 
'''Required skill level''': Advanced
 +
 +
[https://github.com/snowleopard/hadrian Hadrian] is a new build system for the Glasgow Haskell Compiler. It
 +
is based on the [https://github.com/ndmitchell/shake/blob/master/README.md 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 [https://www.staff.ncl.ac.uk/andrey.mokhov/Hadrian.pdf 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.
  
 
= Spock =
 
= Spock =

Revision as of 13:42, 5 July 2016

Contents

1 Agda

Contact: Philipp Hausmann

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

Required skill level: Advanced

2 Cryptonite

Contact: Vincent Hanquez

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

Required skill level: Advanced

3 Grenoble Haskell Club

Contact: José-Paul Dominguez

Required skill level: Beginner

4 Hakyll

Contact: Jasper Van der Jeugt

Homepage: http://jaspervdj.be/hakyll

Required skill level: Beginner

5 Haskell IDE Engine

Contact: Moritz Kiefer

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

6 Hedsql

Contact: Léonard Monnier

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

Required skill level: Beginner

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

6.1 Data.Text support

Level: beginner

Description: use Data.Text instead of String

6.2 Injection tests

Level: beginner in Haskell, solid SQL knowledge

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

6.3 Database tests

Level: beginner/intermediate

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

6.4 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.

6.5 Architecture

Level: expert

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

7 Opaleye

Work on the list of Opaleye enhancements

Contact: Tom Ellis

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

Required skill level: Advanced

8 OpenCV 3.1 Haskell binding

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

Contact: Bas van Dijk

Required skill level: Expert

9 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.

10 Spock

Contact: Alexander Thiemann

Homepage: https://www.spock.li

Required skill level: Advanced

11 Hoodle

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.