One extra trick I like:
I put
* isfile("_init.jl") && require("_init.jl")*
in my .juliarc.jl file. Then I just put a _init.jl file with the repetitive
initialization stuff in my working directory for my project. It really only
saves a couple of keystrokes when restarting the REPL, but I find enforcing
this convention on myself lightens the semantic load just the tiniest bit.
On Wed, Jan 21, 2015 at 3:39 PM, Gray Calhoun <[email protected]> wrote:
> I just want to thank everyone who replied to this thread. These
> details are really helpful.
>
>
> On Tuesday, January 20, 2015 at 12:25:30 PM UTC-6, Gray Calhoun wrote:
>>
>> Seconded. If anyone has time to just record a 5 minute screencast
>> of "working productively in Julia" I think he or she would have a
>> moderately sized but very appreciative audience.
>>
>> On Tuesday, January 20, 2015 at 4:45:13 AM UTC-6, Tamas Papp wrote:
>>>
>>> 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
>>>
>>