Workflow for interactive application development?

What’s the usual workflow for interactive application development?

My understanding is that the workflow should be:

  1. Create a rebar.config file for the project if needed.

  2. Start an Erlang shell with rebar3 shell.

  3. Repeat as needed:

    • Make changes.

    • Recompile from inside the shell with r3:compile()..

    • Interact with the app from the shell.

  4. Exit the shell with q(). when done, or use Ctrl+c a to abort if stuck.

Do you recommend anything different? Thanks!

there is a library called sync.

it can detect changes in your code, recompile the code and reload the module.

Other than sync already mentioned by nayibor, there’s also rebar3_auto which I use to auto recompile modules.

I wrote about my setup here Using erlangs remote shell during devel.

Thank you. Since your article touches Emacs, I’m linking your other article on Setting up Emacs for Erlang in 2025 for those who may miss it.