Google summer of code
The Google Summer of Code (GSoC) is an annual program funded by Google to allow hundreds of students around the world to participate in free or open source software.
GSoC is open to students using all kinds of technologies and each year we like to see many projects written in/for the Haskell programming language.
Some possibly useful links:
- haskell.org: summer of code trac
- reddit: haskell proposals
- Gwern: Retrospectives 2006-2013
1 Accepted GSOC2015 projects
- A Strict language pragma for GHC - Adam Sandberg Eriksson Github account
- STM Data Structures Implementation - Alex Semin
- Implementation of Layered Gramamar of Graphics - chinu Github repository
- Implementing Version Comparison for Cabal Packages - Craig Roche Github account
- Improving Hackage Discoverability - D. Zack Garza Github repository, Mockup
- Darcsden improvements - Daniil Frumin Darcsden accoun - Blog post
- Pursuit enhancements - Harry Garrood Github account
- Improvements For HBLAS And Adding LAPACK Bindings. - JuejiYang
- A standalone functional parser for CommonMark - Julien Cretel Github account
- Refactor program with HLint suggestions - Matthew Pickering Github account, Demo
- Replication back-end for acid-state - Max Voit
- Native Haskell Type Encoding for LiquidHaskell - Michael Smith Github account
- Exhaustiveness Checker for PureScript - Nicolas Del Piano Github account
- Fast splittable pseudorandom number generator for System.Random - Nikita Kartashov Github account
- Interactive widgets in IHaskell - Sumit Sahrawat Github account
- Improvements to yesod-devel - urbanslug Github account
- Implement nix-like package management features in cabal - Vishal Agrawal Github account
- Haddock improvements - Łukasz Hanuszczak Github account
1.1 Achieved Goals
1.1.1 Refactor program with HLint suggestions
My project was refactoring programs with hlint suggestions. I'm counting it as a success but I am waiting for a new release of HSE and hlint before making an announcement. We can apply almost all suggestions from hlint.
Here is a demo of it working
1.1.2 Interactive widgets in IHaskell
My project "Interactive widgets in IHaskell" was completed successfully. We'll be having a public announcement with an online demo on try.jupyter.org soon.
1.1.3 A Strict language pragma for GHC
Johan Tibell writes: I'm very happy with Adam's work strict Haskell. StrictData is already in HEAD and will be part of 8.0. Adam is working (as his studies permit) of finish the rest. Perhaps if we're really lucky we'll have the Strict pragma as well in 8.0.
As of 2015-11-14 both language extensions (StrictData and Strict) are merged in GHC Head (in time for GHC 8.0).
1.1.4 STM Data Structures Implementation
Alex's excellent work is here and is soon to be uploaded to hackage.
1.2 Did Not Achieve Goals
1.2.1 Implementation of Layered Gramamar of Graphics
Last commit was made on 30 June 2015 and the README says
Working on a implementation of layered grammar of graphics. Work in progress, Nothing to see here, Move on.
It may be that this work has been subsumed here but I am not sure how to confirm this.
1.2.2 Improvements For HBLAS And Adding LAPACK Bindings
The last contribution by the student to the repo seems to be 2 May 2015.
There is this but it's hard to judge from it what the contribution is.
2 Accepted GSOC2013 projects
- Better record command for darcs
- Communicating with mobile devices
- Enhancing Darcsden
- Extending GHC to support building modules in parallel
- Improve Haddock Markup and Capabilities
- Haskell Qt Binding Generator and semi-automated C++ ffi wrapper (blog not live yet)
- Improve the feedback of the cabal-install dependency solver
- interactive-diagrams and a paste site with the ability for dynamic rendering of diagrams
- Overloaded record fields for GHC
- Parallelise 'cabal build'
- Port Charts to use Diagrams
3 Accepted GSOC2011 projects
- Alejandro Serrano : Improve EclipseFP
- Alexander Göransson: Simplified OpenGL bindings
- Anklesaria: Interpreter Support for the Cabal-Install Build Tool
- Jasper Van der Jeugt: Convert the text package to use UTF–8 internally
- Mikhail Glushenkov: Build multiple Cabal packages in parallel
- Owen Stephens: Darcs Bridge
- Petr Ročkai: Darcs: primitive patches version 3
Projects from other organizations related to haskell: