Difference between revisions of "Budapest Hackathon 2016/Projects"

From HaskellWiki
Jump to: navigation, search
(add homepage of x86-64 project)
Line 94: Line 94:
'''Contact''': Péter Diviánszky
'''Contact''': Péter Diviánszky
'''Homepage''': no homepage yet
'''Homepage''': https://github.com/divipp/x86-64
'''Required skill level''': Intermediate
'''Required skill level''': Intermediate

Latest revision as of 14:07, 5 August 2016


Contact: Andor Pénzes & Gábor János Páli

Homepage: https://github.com/andorp/bead

Required skill level: Various

Bead is an online assignment management system for university courses with a multi-language web interface that supports scheduled publication and activation, submission, automated testing, reporting, and evaluation of course work assignments, mid-term and final examinations. It is almost fully implemented in Haskell based on the Snap framework, it uses the Bootstrap web framework for the user interface, and it can interact with MySQL for storing data and Active Directory services for authentication of users, althought it can work as a standalone service as well. The automated testing can be scripted through the use of the standard UNIX shell commands.


  • Switch to the servant web services API for the implementation of routing pages.
  • Implementation of user stories and user-interface logic for notifications.


Contact: Luke Murphy

Homepage: https://github.com/lwm/es-api

Required skill level: Intermediate

es-api is a simple web API built with servant. It currently only allows for GET methods on the spanish verbs. The project has been accepted for the OpenShift Grant Project - which means, we could roll some shake deployment files and get it live! It has rudimentary documentation, a database layer but no tests!
Please peruse the issues for a list of tasks:


GHC Ticket #11551: Get doctests into testsuite

Contact: Luke Murphy

Homepage: https://ghc.haskell.org/trac/ghc/ticket/11551

Required skill level: Advanced (mostly makefile magic!)

This GHC ticket is part of a plan to bring more documentation into GHC.
The story is best told with this Hoogle issue:


Once we get this patch running, any documentation patch with doctest will be tested automatically!

Haskell tools

Contact: Boldizsár Németh

Homepage: https://github.com/haskell-tools/haskell-tools

Description: Developer tools for Haskell.

Multi-Core & Scratchpad Support for Resource-Aware Feldspar

Contact: Máté Karácsony

Homepage: https://github.com/kmate/raw-feldspar-mcs/

Required skill level: Advanced (includes embedded C programming)

RAW-Feldspar is an EDSL for digital signal processing. The raw-feldspar-mcs library extends the language and its compiler to support explicit programming of many-core processors and scratchpad memories. The backend currently supports Adapteva's Epiphany many-core accelerator chip. However, the implementation of the communication channels between the accelerator cores is a proof of concept now. This project is about improving the performance of these channels. This requires some C programming skills, but on the Haskell side of the compiler it requires strict typing to ensure safe usage from the language.


Contact: Luke Murphy

Homepage: https://github.com/lwm/tasty-discover

Required skill level: Beginner

tasty-discover is an attempt to bring an user friendly test runner to the tasty framework. It started off as a copy/paste of the hspec-discover but now has come into it's own. It has the possibility to be a general purpose test runner with some work (given that tasty can run hspec tests!). There are a number of simple patches that can be done.
Please peruse the issues for a list of tasks:



Contact: Máté Karácsony

Homepage: https://github.com/kmate/zeldspar/

Required skill level: Intermediate to Advanced

Zeldspar is a domain-specific language to implement digital signal processing pipelines. It is an implementation of the Ziria streaming language on the top of RAW-Feldspar. The aim of this project is to review and correct Zeldspar's sequential pipeline fusion operator, as unfortunately it does not terminate in the compiler under some circumstances. It would also be beneficial to work out the exact formal semantics of the fusion operator for infinite loops.

64-bit code generation for x86

Contact: Péter Diviánszky

Homepage: https://github.com/divipp/x86-64

Required skill level: Intermediate

I am working on a Harpy-like library (https://wiki.haskell.org/Harpy) with 64-bit support. (The intention is to have a lightweight code generation library for just-in-time compilation for a lambda-calculus interpreter.)