Skip to content
This repository was archived by the owner on Feb 5, 2020. It is now read-only.

Project: Elixir

Michał Muskała edited this page Feb 8, 2017 · 64 revisions
  • 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!

Idea #1: Port ExDoc to Elm

ExDoc is a tool that generates documentation for Elixir projects. It currently provides many features at the Javascript level which could be ported to Elm. The end goal is to remove markup concerns from the ExDoc backend and handle those as well as the existing JavaScript logic, directly from Elm.

Expected results: A branch of ExDoc which uses Elm instead of JavaScript for the dynamic features

Knowledge prerequisites: Basic Elixir, Intermediate Elm

Possible Mentors: José Valim

Idea #2: Elixirbench

Implement a website that receives web-hook notifications from GitHub and run benchmarks against multiple Elixir and Erlang versions. Similar but much simpler in scope to RubyBench.

Expected results: A deployed application that receives web-hook notifications and perform known benchmarks

Knowledge prerequisites: Intermediate Elixir, Intermediate web development

Possible Mentors: José Valim

Idea #3: elixirfmt

Implement a formatter for Elixir code that can take a piece of Elixir code and format it according to a standard style guide. Very similar to tools such as rustfmt and gofmt.

Expected results: a command-line tool that takes Elixir code as input and returns formatted Elixir code as output

Knowledge prerequisites: Intermediate Elixir

Possible Mentors: Andrea Leopardi

Idea #4 Language Server Protocol implementation for Elixir

Language Server Protocol is an attempt to establish a common, cross-language and cross-editor protocol for tools to implement features like auto complete, goto definition, find all references, and alike. It mediates between the editor (the client) and a language smartness provider (the server).

Knowledge prerequisites: Basic Elixir

Expected results: A server implemented in Elixir with support for the Language Server Protocol.

Possible Mentors: Michał Muskała

Clone this wiki locally