I'm trying to find my way developing Julia code interactively. In other languages (e.g. Python, R, Octave, etc.) when working on some piece of code I open a file with it and a console. Each time I change something in the file, I send that part to console and thus get new state. When I change a lot of things, I just send the whole file, replacing all definitions. It's quite convenient, and I'm pretty sure many of you are familiar with this practise.
In Julia, however, I faced several challenges. 1. When developing modules (and I really like modular systems) I have to either run "using MyMod" after each change, or use qualified names (e.g. "MyMod.somefunc()"), which is really annoying. In Python, for example, all definitions sent to console go right to a global namespace, which is pretty convenient within single module. And for several modules there's IPython's "%autoreload 2". 2. If I abandon modules, on other hand, I can't redefine constants. So if, for example, I define type Point in global namespace, then change it and want to load new definition, I just get "invalid redefinition of constant Point" error. So I want to know how YOU cope with these issues. Are there any best practises for interactive development? Are there any workarounds for cases I mentioned? Thanks you, Andrei
