Difference between revisions of "ZuriHac2016/Projects"
(added my project hoodle) |
|||
Line 42: | Line 42: | ||
'''Required skill level''': Beginner |
'''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. |
||
+ | |||
+ | == Architecture == |
||
+ | |||
+ | Level: expert |
||
+ | |||
+ | Description: the library is currently using a State Monad for writing SELECT queries, but maybe there is a better way. |
||
= Opaleye = |
= Opaleye = |
Revision as of 13:37, 5 July 2016
Agda
Contact: Philipp Hausmann
Homepage: http://wiki.portal.chalmers.se/agda/pmwiki.php
Required skill level: Advanced
Cryptonite
Contact: Vincent Hanquez
Homepage: https://github.com/haskell-crypto/cryptonite
Required skill level: Advanced
Grenoble Haskell Club
Contact: José-Paul Dominguez
Required skill level: Beginner
Hakyll
Contact: Jasper Van der Jeugt
Homepage: http://jaspervdj.be/hakyll
Required skill level: Beginner
Haskell IDE Engine
Contact: Moritz Kiefer
Homepage: https://github.com/haskell/haskell-ide-engine
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:
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.
Architecture
Level: expert
Description: the library is currently using a State Monad for writing SELECT queries, but maybe there is a better way.
Opaleye
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
Shaking up GHC
Contact: Andrey Mokhov
Homepage: https://github.com/snowleopard/hadrian
Required skill level: Advanced
Spock
Contact: Alexander Thiemann
Homepage: https://www.spock.li
Required skill level: Advanced
Hoodle
Contact: Ian-Woo Kim
Homepage: http://ianwookim.org/hoodle
Required skill level: Advanced