Difference between revisions of "Budapest Hackathon 2016/Projects"
(add homepage of x86-64 project) |
|||
(3 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
= bead = |
= bead = |
||
− | '''Contact''': Gábor János Páli |
+ | '''Contact''': Andor Pénzes & Gábor János Páli |
'''Homepage''': https://github.com/andorp/bead |
'''Homepage''': https://github.com/andorp/bead |
||
+ | '''Required skill level''': Various |
||
− | E-learning snap based server for special teaching purposes.<br/> |
||
+ | |||
− | NOTE: This is a learning project, mainly in alpha state, a lot of code cleaning is necessary. |
||
+ | 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. |
||
+ | |||
+ | '''Tasks''': |
||
+ | |||
+ | * Switch to [http://hackage.haskell.org/package/digestive-functors digestive-functors] in the description of user interface forms. |
||
+ | |||
+ | * Switch to the servant web services API for the implementation of routing pages. |
||
+ | |||
+ | * Implementation of user stories and user-interface logic for notifications. |
||
= es-api = |
= es-api = |
||
Line 30: | Line 47: | ||
This GHC ticket is part of a plan to bring more documentation into GHC.<br/> |
This GHC ticket is part of a plan to bring more documentation into GHC.<br/> |
||
The story is best told with this Hoogle issue: |
The story is best told with this Hoogle issue: |
||
− | :https://github.com/ndmitchell/hoogle/issues/136 |
+ | :https://github.com/ndmitchell/hoogle/issues/136 |
Once we get this patch running, any documentation patch with doctest will be tested automatically! |
Once we get this patch running, any documentation patch with doctest will be tested automatically! |
||
Line 41: | Line 58: | ||
Description: Developer tools for Haskell. |
Description: Developer tools for Haskell. |
||
⚫ | |||
− | = raw-feldspar-mcs = |
||
'''Contact''': Máté Karácsony |
'''Contact''': Máté Karácsony |
||
Line 47: | Line 64: | ||
'''Homepage''': https://github.com/kmate/raw-feldspar-mcs/ |
'''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. |
||
= tasty-discover = |
= tasty-discover = |
||
Line 60: | Line 79: | ||
Please peruse the issues for a list of tasks: |
Please peruse the issues for a list of tasks: |
||
:https://github.com/lwm/tasty-discover/issues |
:https://github.com/lwm/tasty-discover/issues |
||
+ | |||
+ | = Zeldspar = |
||
+ | |||
+ | '''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 = |
= 64-bit code generation for x86 = |
||
Line 65: | Line 94: | ||
'''Contact''': Péter Diviánszky |
'''Contact''': Péter Diviánszky |
||
− | '''Homepage''': |
+ | '''Homepage''': https://github.com/divipp/x86-64 |
'''Required skill level''': Intermediate |
'''Required skill level''': Intermediate |
Latest revision as of 14:07, 5 August 2016
bead
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.
Tasks:
- Switch to digestive-functors in the description of user interface forms.
- Switch to the servant web services API for the implementation of routing pages.
- Implementation of user stories and user-interface logic for notifications.
es-api
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.
tasty-discover
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:
Zeldspar
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.)