Stable GADT constructor syntax in Haskell
Generalized Algebraic Data Types for GHC (#402)
Haskell is a purely functional programming language with a free and open-source compiler (GHC), as well as a mature ecosystem of open-source libraries for server-side programming (warp, wai, servant, scotty, etc), client-side programming (http-client), and blog generation (hakyll).
"Stable GADT constructor syntax" is a proposed refinement to the Haskell specification that brings clearer rules and stronger stability guarantees to GADTs (generalized algebraic data types), a type system feature used to eliminate entire classes of bugs at compile-time. The new specification of GADTs lifts restrictions on the order of type arguments and constraints, giving library authors greater flexibility in API design. This is important for wider adoption of GADTs, leading to fewer defects in Haskell software, which matters especially for networking applications. This project should result in a complete implementation of the new specification and its inclusion in the next compiler release.
- The project's own website: https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0402-gadt-syntax.rst
Run by https://serokell.io/
This project was funded through the NGI0 Commons Fund, a fund established by NLnet with financial support from the European Commission's Next Generation Internet programme, under the aegis of DG Communications Networks, Content and Technology under grant agreement No 101135429. Additional funding is made available by the Swiss State Secretariat for Education, Research and Innovation (SERI).