Great. I have not tried ESS yet, but definitely will when it supports Julia. I am not completely happy with emacs and julia-mode now. julia-mode seems to insert a lot of trailing whitespace when killing/yanking. And I can't find a decent terminal mode/ shell buffer, unless I am running something that doesn't even have readline.
--John On Wednesday, February 25, 2015 at 12:44:48 AM UTC+1, [email protected] wrote: > > I'm looking for a workflow, maybe someone can point me to a thread or > a document. > > I was developing a large module without actually putting it in a > module. It is 7500 lines of code (counting every newline) and the > test suite is about 700 lines. I arranged things so the module loads > in about 2-3 seconds and the test suite runs the first time in about > 20 seconds and subsequently in less than a second (or more if I reload > some code) I had to restart very rarely. So for the majority of > changes, I could reload one file and run the entire test suite in, > maybe 1 to 8 seconds, occasionally longer > > Recently, I decided to depend on SymPy, which takes 20 seconds to > load. Now, starting from zero and running my module's test suite is 45 > seconds. > > I already have a single file MyModule.jl that includes all the other > code. So now I wrap all the 'includes' inside a 'module' block in > MyModule.jl. Now my workflow is so slow that for practical purposes, > I can no longer work on the module. > > When I am working on core code, for every change I make. I have to > restart and wait 45 seconds. > > I spent a few hours, now, and in the past, reading threads on > workflows. I tried a few things, but no luck. I didn't try all the > secret recipes. > > I don't understand how people get around the need to reload the > entire module each time they make a change to it, and what the > potential problems from doing this are. My test suite > fails to run if I load the module twice. I spent some time trying > to understand why. Maybe finding this problem is the only solution? > > Here are two possible solutions: > > 1. Fully qualify all identifiers in the module. Then, if I understand, > I can reload pieces of the code. > > 2. Break the code into several modules, polluting the namespace at > the module level >
