Hi,

I am wondering what the best workflow is for iterative/exploratory
programming (as opposed to, say, library development).  I feel that my
questions below all have solutions, it's just that I am not experienced
enough in Julia to figure them out.

The way I have been doing it so far:
1. open a file in the editor,
2. start `using` some libraries,
3. write a few functions, load data, plot, analyze
4. rewrite functions, repeat 2-4 until satisfied.

I usually end up with a bunch of functions, followed by the actual
runtime code.

However, I run into the following issues (or, rather, inconveniences)
with nontrivial code:

a. If I redefine a function, then I have to recompile dependent
functions, which is tedious and occasionally a source of bugs
(cf. https://github.com/JuliaLang/julia/issues/265 )

b. I can't redefine types.

I can solve both by restarting (`workspace()`), but then I have to
reload & recompile everything.

I am wondering if there is a more organized way of doing this --- eg put
some stuff in a module in a separate file and just keep reloading that,
etc. Any advice, or pointers to tutorials would be appreciated.

I am using Emacs/ESS.

Also, is there a way to unintern symbols (a la CL) that would solve the
type redefinition issue?

Best,

Tamas

Reply via email to