Interactive versus function wrapping

Thanks to all of you, I am making substantial progress in my understanding of the Julia approach. Let us continue …

My modus operandi is to develop code interactively in an Atom Window (not the REPL) and execute a line at a time. When I get to the point where my code works, I wrap code up into functions, put them in a file that is included, and continue the process.

However, on occasion, I would like to run some of these functions a single line at a time for further analysis. What is the best way to approach this? Is using the step function of the interactive debugger the only way, or is there another approach to consider?

Thanks, Gordon.

In short, there are many options, both in theory, and in practice for the REPL without IDEs like Juno or VSCode or with them (also supporting the other less used IDEs?).

Those are the most used, while be aware about GitHub - JunoLab/Juno.jl

Attention : We have decided to join forces with the Julia extension for VSCode. As such, this Atom-based plugin is effectively in “maintenance-only mode” and we expect to only work on bug fixes in the future.

FYI: old blog post: A Julia interpreter and debugger

There are many threads on debugging, most likely outdated, I’m just not sure as I do not use the debuggers:

The Rebugger (not a typo) sound cool though. There is support in Julia 1.5 for time-traveling bug reports, so I foresee a future where the debugged can go back in time, not just step forward, if not done already. Then in VSCode.

While this is a common approach in some languages, I would recommend that you don’t do this, and write short, simple functions instead. It takes some time getting used to this and giving up long, monolithic functions, but IMO it’s the best approach to organizing code in Julia.

Then you have debuggers, but a simple @show will serve just as well most of the time.