A community driven list helping coordinate the effort of upgrading (mostly unmaintained) Elm projects.
There are many Elm projects that has been created for previous versions of Elm. People learning/coming into Elm find many outdated projects that would be very useful to have running on the current version of Elm (0.17.1). By maintaining this list and upgrading projects, I hope that we could help the Elm community having up-to-date code.
Why should I contribute?
- If you are looking for opportunities to learn or improve in Elm, you can start working on an existing project instead of starting from scratch.
- Some projects only require a little work to upgrade, but is a great contribution to the Elm community - keeping code and content up-to-date.
How can I contribute?
- Find a project in this list and start contributing to the upgrade by creating pull requests and issues on the respective projects. Tips on upgrading here: Upgrade howto links. If you start upgrading a project, please submit an issue so that we can update the status in this list.
- If a project has moved to a new location, or if the maintainers are not responding to issues/pull requests - please create an issue and create a pull request notifying that the project is abandoned/moved to a new location. Other people navigating to these projects will be able to see the PR/issue and find the updated projects.
- This list is not complete. If you know other projects that should be added/modified? Feel free to contribute to this list by either subitting issues or pull requests (see List item template).
Projects that are requested by the community to be prioritized. Create an issue or submit a pull request with projects to be prioritized
- Checkerboard grid tutorial - Tutorial on Container Components in Elm.
- Referenced here (in continue learning - bullet point 6)
- As I understand, it has not been possible to contact @TheSeamau5 for almost a year. Maybe someone else should take over the project instead of creating a PR.
Packages, libraries and tools
- ElmFire - Firebase Bindings for Elm.
- Package link
- There are already contributors suggesting that they can help out.
- Elm-Test - A unit testing framework for Elm.
- Only needs an update to the readme pointing to the new repository.
- Elm Diagrams - An Elm library for creating diagrams, inspired by Brent Yorgey's Diagrams library for Haskel.
- Quadtrees in Elm - Quadtrees in Elm.
- Generator Elm Spa - A Yeoman generator single-page applications using the Elm language.
Articles with code.
- Making pong (Official Elm blog) - http://elm-lang.org/blog/making-pong.
- Comment: Only article - could need link to source
- Adventures reactive web dev - Adventures in Reactive Web Development.
- Elm explained - Demo code to explain basic features of the Elm language.
- Elm Cheat sheet - An overview of Elm syntax and features.
- Buzzword Bingo - From Pragmatic Studio - First app using Elm language.
- Elm patterns - A collection of common patterns for Elm.
- Bike configurator - Pretty simple app for configuring a bike with colored components, written in Elm.
- Raycasting - Raycasting. Written for April 2016's West London Hack Night.
- Only needs to update readme with a reference the new implementation here
- Elm timewatch - Work attendance clock.
Demos and tutorials.
- Practice with Elm - Used to practice with the elm language.
- Elm 7 more - Code for the Elm chapter in "Seven More Languages in Seven Weeks".
- Elm Tutorial - A tutorial for the Elm programming language.
- Thinking in Elm - A series of experiments exploring how to think using the Elm programming language.
List of game projects.
- Vessel - A "tunnel" game written in Elm!
- Sliding puzzle - Sliding puzzle built in Elm.
- Elm Nim - A Nim game for the web browser.
- Elm Obstacles - A simple obstacle course game.
- Elm Asteroids - Asteroids game in Elm. Assignment for the Comparative Programming Languages course at the KULeuven.
- Asteroids - An Asteroids clone written in Elm.
- Elm Platformer - hack-day project to build a simple platformer game from scratch using the elm.
- Elm Bejeweled - https://github.com/aljc/Elm-Bejeweled.
- Paint the town red - A very simple game written in the Elm Programming language.
- Pac Programmer in Elm - Using Elm, I made a remake of pacman in which pacman is a programmer, explores elm as a language really well.
- Elmy Cube - A flappy bird inspired game.
- FloodIt - The game Flood It written in the functional language Elm.
- Alien Panic - A functional game inspired by Space Panic.
- Chess Elm - The game of chess.
- Elm Chess - Learning Elm by making a chess game.
- Space Invaders - SpaceInvaders using Elm.
- Flappy Bird - Flappy bird in Elm.
- Elm Snake - A Snake game.
- FunFun - Video games in Elm.
- Elm Redchaser - A basic game written in Elm.
- Celestia - Project description.
- Elm Tile Game - A tile game.
- Elm Terror - A small toy project to discover Elm. Try to kill terrorists without creating terrorists (hint : you'll fail).
- Elm Copter - An implementation of the classic game Copter, written in Elm.
- Elm Battleship - A Battleship game.
- Gravity - An orbital simulation game written in Elm.
- Pick and gloat - Use your thinking and reaction to compete with friends.
- Stellaris race maker - An ugly tool to let you make your own race in Stellaris, the 4X from Paradox (Crusader Kings, Europa Universalis, ...).
- Elm Goban - A simple Go board made out of Elm.
- Elm labyrinth - A small game implemented to play around with Elm (up to version 0.16).
- Sudoku Game - Sudoku game, written in Elm, encouraged by Janis Voigtländer's lecture Fortgeschrittene Funktionale Programmierung..
- Four In A Line game - Elm implementation of Minimax Algorithm applied to Four In A Line game.
- Elm Memory game - Memory game using Elm.
- Demoscene-Concentration - The classical memory game with (simple) old-school demoscene effects.
- Math game Elm - Math game written in Elm.
- Elm css color guess game - A "do you what CSS color this looks like" game.
- Froggy - A little puzzle game.
- EditGym - Text editing training.
- Maze - Test your mouse precision skills with this simple maze game.
- 2048 - 2048 implementation in Elm.
- Minesweeper - My first take on Elm.
- Elm Games - A bunch of goofy games, written in Elm (Minesweeper and TicTacToe).
- Sliding Puzzle - Sliding puzzle built in Elm.
- MMP Halloween Text Adventure - A text-adventure game based on Midnight Murder Party.
- Starsystem - Playing around with Elm and live code updates by building a game.
- Traffic Simulation in Elm - Simple intersection simulation/game writen in Elm. Make the drivers happy :)..
- Blue Pill - Me learning Elm after Goran Milovanovic blue pill tutorial.
- SokobanElm - Remake of the classical game Sokoban in Elm.
Misc Applications / Testing / Learing Elm.
- Elm Trader - Experimental implementation of trading terminal on Elm language.
- AI a modern approach - Implementations of parts of Russell and Norvig's AI book in the Elm programming language.
- Elm Genetic algoritm - Genetic Algorithm implementation for the Elm language.
- Stalk - Stack-based language written in Elm.
- Elm assembly - A single-page Elm app for an interactive assembly-language simulator for the Harvey Mudd Miniature Machine.
- Elm playground - Experiments with Elm language.
- Elm App - Trying out the Elm language.
- Elm Euler - Euler exercises in Elm programming language.
- Bouncing Ball Elm - Simple physics demo implemented with Elm language.
- Gamepad - Gamepad bindings for the Elm functional reactive programming language.
- Geo Elm - Demo of map visualization with ELM programming language.
- Elm calculator - Simple Apple like calculator written in Elm Programming language.
- Code eval Elm - Basic framework for solving codeeval.com problems with the Elm language.
- Barnley Fern Elm - Draw one of famous fractal shape 'Barnsley Fern' with Elm language.
- Elm Anima - An approach to animations within the Elm architecture.
- Tag Bubbles - Tag bubbles written in Elm.
- Credit card checkout - A credit card form built with Elm and Elixir..
- Undertale dialog generator - A WIP Elm project for generating Undertale dialog boxes.
- Elm Wallpaper editor - Wallpaper Group Pattern Editor.
- Elmflux - Visualization of Elm Signals.
- Gipher - Tinder like app for gifs built with elm and firebase.
- The Cheese palette - The source for The Cheese Palette's Web site.
- W3 Elm - An Elm port of the W3Schools HTML editor.
- Reddit Time Machine - Check out what was hot on reddit days/weeks/months ago.
- HttpSpy - Watch HTTP requests as they happen.
- Todo Mvc ElmFire - TodoMVC+Firebase in Elm+ElmFire.
- Depends on the ElmFire package to be updated to 0.17.
- Lemur - Lemur: visual functional programming language that compiles to Python.
- Sketch-n-Sketch - Prodirect Manipulation for SVG.
- Livechat - The LiveChat repository, except with Elm powering the chat code.
- Mantl UI frontend - Mantl UI frontend.
- Starfield - Starfield effect written in Elm.
- MetronomeElm - Simulation of mechanical metronome.
Projects where upgrade has been started / in progress. Create an issue/PR to move any project to this category
- No projects here yet.
Projects that has been upgraded to current version of Elmm or submitted PR/issues
- Elm Rocket Lander - A simple rocket lander game written in Elm.
- Status: Updated to current version of Elm
- Upgraded by: hakonrossebo
- Changed Graphics.Collage with Kwarrtz/render to render svg
- Elm Hedley - Elm web app with Headless Drupal backend.
- Status: There is a branch with an upgrade to 0.17
- Se video here
- Elm for the Frontend, Right Now - Article and code referenced from elm-lang.org.
- Status: Updated to current version of Elm
- Upgraded by: Author
- Source code here
Projects that for some reason cannot be upgraded - submitted issue / PR
- Elm Undo Redo - Easy undo in Elm.
- Status: Submitted an issue pointing to new location of project.
- Updated by: hakonrossebo
Projects that should not be upgraded for any reason
- No projects here yet.
Provide a short list description here
- Project name - Project description.
- Status: (No status line by default) | In progress | Updated to current version of Elm
- Upgraded by: Github user name
- Comment: (No line here by default) | One or many lines with comments.
- Package link
- Other links: (No line here by default) | One or many lines with links.
Links to articles on how to upgrade projects
- Elm 0.17 faq - Elm 0.17 faq.
- A Farewell to FRP - Elm 0.17 blog post.
- Upgrading to 0.17 - Official - Upgrading to 0.17.
- Aricle by Marek Fajkus on Medium - Elm 0.17: Successful Upgrade of Real World App …and some soft of guide to all of this.
- LambdaCat blogpost - Migrating from Elm 0.16 to 0.17 - from StartApp.
- Project upgrade experience - Typed up CRUD SPA with Haskell and Elm - Part 5: Elm 0.17 Upgrade.
- Signal usage migration - Migrating signal usage from Elm 0.16 to 0.17.
- Making Elm realtime - Realtime Elm Revisited with Elm 0.17.
- Stack overflow - signals in 0.17 - Does Signal got renamed or removed from in elm 0.17.
- Porting a Module to Elm 0.17 - Porting a Module to Elm 0.17.
- Getting the initial Window dimensions - Getting the initial Window dimensions.