There is a Autoreload.jl <https://github.com/malmaud/Autoreload.jl> package 
modeled after IPython's autoreload extension.

On Saturday, July 5, 2014 2:47:24 AM UTC+3, Andrei Zh wrote:
>
> 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
>

Reply via email to