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 >
