Elm Language Debugging Time-traveling debugger


Example

0.170.18.0

At the time of writing (July 2016) elm-reactor has been temporarily stripped of its time traveling functionality. It's possible to get it, though, using the jinjor/elm-time-travel package.

It's usage mirrors Html.App or Navigation modules' program* functions, for example instead of:

import Html.App

main =
    Html.App.program
        { init = init
        , update = update
        , view = view
        , subscriptions = subscriptions
        }

you'd write:

import TimeTravel.Html.App

main =
    TimeTravel.Html.App.program
        { init = init
        , update = update
        , view = view
        , subscriptions = subscriptions
        }

(Of course, after installing the package with elm-package.)

The interface of your app changes as a result, see one of the demos.

0.18.0

Since version 0.18.0 you can simply can compile your program with the --debug flag and get time travel debugging with no additional effort.