Hacker News new | past | comments | ask | show | jobs | submit login

No kidding—this is a show-stopper for me.

I'm running Emacs with a split window for development. R runs in the bottom window, and the source file I'm editing is in the top. This lets me send code to R for evaluation and supports an incremental style of development. I'll slowly build up functions, and this sometimes requires editing functions that my current function uses. This style of development is typical for people using R, Matlab, Lisp, or any language featuring a REPL. But you can't do it in Julia.

Julia needs to support this style of development if it's to garner support from people using these languages. Full stop.

And the fact that Julia doesn't support updating functions makes me think that something is very broken down in the core of the language. The tone of the GitHub thread is: "We don't know how to fix this." Scary!




Julia certainly allows you to redefine functions, it simply doesn't trigger automatic upstream recompilation.

https://gist.github.com/anonymous/8656066

> I'm running Emacs with a split window for development. R runs in the bottom window, and the source file I'm editing is in the top. This lets me send code to R for evaluation and supports an incremental style of development. I'll slowly build up functions, and this sometimes requires editing functions that my current function uses. This style of development is typical for people using R, Matlab, Lisp, or any language featuring a REPL. But you can't do it in Julia.

This is what everyone does in Julia too, with Emacs, IJulia, and others. Here is how to do it: put "module X" at the beginning of your file, and an extra "end" as the last line. Each time you send the file to Julia, the module is recompiled, and inter-dependent functions are updated to the latest version. Problem solved. This is mentioned (in a slightly different context) in the FAQ:

http://docs.julialang.org/en/release-0.2/manual/faq/#how-can...

But I admit it's not immediately obvious, and we should probably put it front-and-center somewhere.


> But I admit it's not immediately obvious, and we should probably put it front-and-center somewhere.

No, the authors should fix automatic recompilation. It's difficult for me to imagine how this bug even exists. The fact that it does coupled with the excuses and blaming the messenger surrounding it tells me that the authors don't know what they're doing and that I should steer clear for fear of running into similar flaws.

Good luck!


If you can't adapt your workflow to work around the current shortcomings of Julia as a language, it's perfectly reasonable to complain about that. What is frustrating people in this thread is that you are implying that because automatic recompilation of dependent functions isn't implemented (in a language that is not yet production quality nor represented as such), the authors must be mentally deficient. You are receiving a vocal response not because we want to sweep Julia's shortcomings under the rug, but because we know that Julia's authors are quite intelligent people and we disagree that the absence of this feature at this time reflects poorly on them. I hope that, once Julia reaches v1.0 and has proper recompilation of dependent functions, you'll give it another shot.


I'd suggest that the authors consider how this missing feature reflects on their efforts when people are forming first impressions. I've made my opinion clear, and the developer pals that I brought into the loop were, without exception, similarly aghast.

I'm reminded of how some Python devotees are unable to see how the v2.7/v3.x split turns of newcomers. The impression given is that the community can't make up its mind on which way to go and that the best approach is to avoid the language all together.


>I'd suggest that the authors consider how this missing feature reflects on their efforts when people are forming first impressions.

I'd suggest you slow down on the entitlement.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: