Standardized, statically typed, lazy functional programming language

Haskell is an advanced, general-purpose, purely functional programming language. It has a strong, static type system with Hindley-Milner type inference.

The language natively supports lazy evaluation, and functions are generally not allowed to have side effects. This leads to a concise and declarative style of programming, which differs quite a bit from conventional languages. By not allowing side effects and dealing with immutable data, the compiler can avoid whole classes of bugs.

Haskell generally compiles to fast, native code, but it can also be compiled to other targets like JavaScript (through GHCJS) or LLVM.

In Google Summer of Code, we attempt to improve not only the language, but the whole ecosystem. This includes (aside from the language itself):

  • Compilers
  • Commonly used libraries
  • Commonly used applications written in Haskell
  • Profilers, debuggers and other tools
  • Package managers and infrastructure

We have compiled an ideas list together with long-time Haskell users, compiler contributors and researchers, and as such we believe these are important projects for the industry and academia both.

lightbulb_outline View ideas list


  • haskell
  • ghc
  • servant
  • codeworld
  • cabal


comment IRC Channel
email Mailing list
mail_outline Contact email

Haskell.Org 2019 Projects

  • Frederik Ramcke
    A language server for Dhall
    The aim of the proposed project is to improve support for the Dhall language in mainstream editors via the Language Server Protocol standard.
  • dxld
    A stronger foundation for interactive Haskell tooling
    Inevitably new and prospective Haskell users will attempt to obtain editor/IDE integration for Haskell but unfortunately they are much more likely to...
  • Daniel Marshall
    Automated requirements checking as a GHC plugin
    The aim of this project would be to create a GHC plugin that allows instructors to define requirements for the code within a project and...
  • O V Adithya Kumar
    Extending Alga
    Alga is a library for algebraic construction and manipulation of graphs in Haskell. Currently there are two main goals, as proposed by Mr. Andrey...
  • AdLucem
    Extending Hasktorch With RNNs and Encoder-Decoder
    Project is to build a sequence-to-sequence encoder-decoder model as a module of the Hasktorch library, and demonstrate it on an NLP task.
  • Jesse Sigal
    Functional Machine Learning with Hasktorch: Produce Functional Machine Learning Model Reference Implementations
    Neural networks are a powerful tool in machine learning. An integral part of any network is its architecture. However, structuring and comparing new...
  • ratherforky
    Hadrian Optimisation
    Hadrian seeks to replace GHC’s current Make-based build system some time around GHC 8.8, but since the main goal of Hadrian so far has been to...
  • Deifilia To
    Implementing Chebyshev polynomial approximations in Haskell: Having the speed and precision of numerics with complex, non-polynomial functions.
    Practically speaking, in science, engineering, and statistics, most computations are done numerically. My project aims to implement a library that...
  • Andika Riyandi (Rizary)
    Improving Hackage Matrix Builder as a Real-world Fullstack Haskell Project
    Finding the best example of full-stack Haskell web development project is hard as a beginner to intermediate Haskell developer. This is based on my...
  • Vijay Tadikamalla
    Improving HsYAML Library
    HsYAML is a pure Haskell idiomatic implementation of the YAML 1.2 data serialization language with a strong emphasis on compliance with the YAML 1.2...
  • Rashad Gover
    Issue-Wanted Web Application
    Issue-wanted is a web application focused on improving the open source Haskell community. It does so by centralizing and categorizing GitHub issues...
  • Vasily Alferov
    More graph algorithms for Alga
    The project is about adding some new features to Alga library. This project is on the list of ideas. Briefly about goals: Acyclic graphs I finished...
  • Kostas Dermentzis
    Property-based testing stateful programs using quickcheck-state-machine
    Testing software is essential. As a project gets bigger, the difficulty of testing the interactions of all its components increases. Property based...
  • Zubin Duggal
    Putting hie Files to Good Use
    A collection of small to medium length tasks which will improve the Haskell editor tooling experience, as a continuation of my work on GSOC18 and...
  • amany9000
    Upgrading hs-web3 library
    Impement a WebSocket layer to hs-web3 and use this WebSocket Functionality to upgrade the current web3 modules and implement an IPFS-Api module using...