/elm-debugger

Control time and change history. Laszlo's debugger lets you pause, rewind, and replay programs, swapping in new code to debug.

Primary LanguageJavaScriptBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

Elm Debugger - live online

The debugger was conceived and implemented by Laszlo Pandy. He introduced it during his talk at Elm Workshop 2013. Since then it has been adopted by the @elm-lang organization to try to get it in shape for everyday use.

Build from source

The server is written in Haskell, so first get the Haskell Platform. The debugger currently relies on the debugger branch of the compiler, so you will need to build that first:

git clone https://github.com/elm-lang/Elm.git
cd Elm
git checkout debugger
cabal install

This will install that version of the compiler globally. If you want to switch back to the most recent release, run git checkout 0.12 ; cabal install. Now that you have the debugger branch, actually build this project:

git clone https://github.com/elm-lang/elm-debugger.git
cd elm-debugger
cabal configure
cabal build
./dist/build/elm-debugger/elm-debugger

This build the server and then start running it locally.

Contributing

This is a very young project, so if you are excited about improving the debugger, it is a great time to contribute! Lots of big questions and important features are still wide open.

Get familiar with the code base and start experimenting. It is likely that the debugger will need to coordinate with the compiler to make it truly great, so talk with people on the list or on IRC to figure out what needs to happen next.