-
Notifications
You must be signed in to change notification settings - Fork 12
Project: Elixir
- Website: http://elixir-lang.org/
- Responsible: José Valim, Andrea Leopardi, Michał Muskała
- If you have any questions, send an e-mail to beam-community AT googlegroups DOT com
Ideas are listed in no particular order. Students providing their own ideas are also welcome!
StreamData is a library adds data generation and property-based testing to Elixir. The goal of this project is to read @type from BEAM code and automatically get generators out of them. Once that is done, we should use this information to automatically validate @spec with data generators.
Expected results: An API that builds generators from types and another that validates specs
Knowledge prerequisites: Intermediate Elixir
Possible Mentors: José Valim, Andrea Leopardi
Ecto is a language integrated query and database mapper for Elixir. While it currently has an adapter for MySQL leveraging mariaex, we believe the community would benefit from a new driver that is closer in design to Postgrex. We are particularly interested on students who are an active part of the Elixir community and are interested on working with Ecto in the long term.
Expected results: A working version of the new MySQL driver with Ecto
Knowledge prerequisites: Intermediate Elixir
Possible Mentors: José Valim, Michał Muskała, James Fish
ElixirBench is a proof of concept for a comprehensive tool for the Elixir community to monitor performance of Elixir itself and the core libraries. The goal is to have a platform for running continuous benchmarks for various Elixir-based projects to guard from regressions and encourage performance improvements. The project requires two things: improvements to the platform itself (particularly a GitHub integration) and writing some actual benchmarks for different projects - standard library and the elixir compiler being the most important elements and things like Ecto and Plug and possibly some other projects as stretch goals.
Expected results: The ElixirBench platform running benchmarks for selected projects nightly
Knowledge prerequisites: Basic React and basic Elixir
Possible mentors: Michał Muskała
Dialyzer is a discrepancy analyzer that ships as part of the Erlang VM. There are two projects that adds Dialyzer support to Elixir applications: dialyxir and dialyzex. The goal of this project is to bring the ideas of both projects with two main new features: better usability (in particular, better error messages and formatting) and the ability to dialyze projects incrementally.
Expected results: A mix dialyzer task as part of Elixir
Knowledge prerequisites: Experience with Elixir and Dialyzer
Possible mentors: José Valim, James Fish