I guess you mean using the module's eval to add functions/variables ?  This 
sounds like an excellent
option.

I am using emacs/julia mode + konsole.

On Wednesday, February 25, 2015 at 11:39:31 AM UTC+1, Tamas Papp wrote:
>
> Hi John, 
>
> In fact you can eval "into" a module and thus add functions/variables 
> without reloading the whole thing. Juno supports this, I am working on 
> ESS to provide the same functionality. What IDE are you using? 
>
> Best, 
>
> Tamas 
>
> On Wed, Feb 25 2015, lapeyre....@gmail.com <javascript:> wrote: 
>
> > I found a solution. If something is wrong, please correct it in this 
> thread. 
> > 
> > -- To make a module, you must put code in a single module expression 
> > 'module MyModule ... end'. 
> >     You may 'include' other files within this expression which has the 
> > effect of literally writing the contents 
> >     inside the module expression. 
> > --  Once the module expression is executed, you cannot add functions (or 
> > other things, like global constants ?) 
> >     to the module. If you again load code with a module expression 
> naming 
> > the same module, it will overwrite 
> >     the original module. (you can have a submodule MyModule within 
> > MyModule. You will get a warning that 
> >     MyModule is being overwritten, but in fact it is not. But, this may 
> > have been fixed by now.)  So if you 
> >     change anything in a module, you must reload the entire module. But, 
> > this is not quite true. If a function 
> >     already exists from the previous module expression, you can redefine 
> it 
> > by qualifying it with 
> >     'MyModule.funcname(...'.  In this function, you also have to qualify 
> > all types that were defined inside the 
> >     module, (and maybe other things ?) 
> > --  Reloading the module may cause warnings to be printed at the repl. 
> For 
> > instance, for me, methods that extend 
> >      base functions cause 'new definition is ambiguous with' warnings, 
> and 
> > 'Method definition ... overwritten' warnings. 
> >      I don't know the significance of these warnings. But you may have 
> > problems (see below). I don't know if they 
> >      are related to the warnings printed at the repl. 
> > --   After reloading the entire module, code, in particular test code, 
> may 
> > fail with error messages printed. Restarting 
> >      Julia, of course will fix this. 
> > --   But, here is a solution that lets me edit a line in a module, 
> reload 
> > it and run the tests relatively quickly: 
> >      Run the test code. At the line number named in the error message, 
> > qualify calls to a macro with the name 
> >      of the module, eg. 'MyModule.@mymacro'. Probably the same applies 
> to 
> > function calls. You may need to 
> >      qualify calls in some preceding lines, as well. Run the test suite 
> > again, and repeat the previous step. In the 
> >      end, I am able to run the entire test suite with about 5 percent of 
> > the calls (every call in this test suite is to 
> >      one of two macros) qualified.  If you understand the problem 
> better, 
> > you may be able to predict which calls 
> >      need to be qualified. Anyway, after doing this, my workflow is 
> > unstuck!  I read a lot of posts on how to deal 
> >      with this problem. Fortunately, there is a line in a post by Tim 
> Holy 
> > mentioning qualifying calls to module 
> >      functions in test code. Thanks, Tim! 
> > 
> >    -- John 
>

Reply via email to