Milan, Thanks for the comments. I also am confident that info about what line errors occur on will improve.
You asked about a specific example of catching errors early. I just meant that running something like Lint as part of the 'include' command could help improve the speed of the edit-compile-test cycle. I don't have any examples, I just wanted to suggest a place (the include function) where syntax errors could be caught. I did look up string concatenation as you suggested; For the curious here are some links * Jul 2014 discussion in this forum: http://bit.ly/1AAVGLy * Aug 2013 discussion on Github with Stephan K's thoughts http://bit.ly/1AAVZpq * Nov 2012 discussion on Google Groups http://bit.ly/1y1xMFx Thanks again! I'm a fan of Julia and will continue working on it. Chris On Sunday, November 23, 2014 1:39:44 AM UTC-8, Milan Bouchet-Valat wrote: > > Le samedi 22 novembre 2014 à 19:24 -0800, Christian Peel a écrit : > > Hi all, > > > > I'm excited about Julia because of the speed and open nature of the > > language. I have a couple of suggestions from the past couple of days > > of my time with the language: (1) decrease the JIT time to allow > > faster code changes, (2) automatically detect changed files and reload > > them, again to allow developers to change their code quicker. > > Combine that with the integrated debugger that I believe is coming > > soon, and I think Julia will be much more appealing. > > > > Here are some questions: > > * Have any plans been made on allowing Julia to automatically notice > > that a file has changed and reload it? What is the normal development > > technique for Julia developers? I typically write some code, test it, > > write some more, and test it again. For julia, do you just 'include' > > or 'reload' every time you change a file? > > * It can take a long time (10 seconds on my 2013 Macbook Pro) to do > > the JIT (I guess that's what it's doing) the first time I run my > > simple 500-line toy script after loading it; Putting this in the > > middle of developing high-level code is really awkward. Can you do > > anything to bring this down? > > * Why can't Julia show line numbers every time an error occurs, rather > > than just sometimes? Some errors for which I did not see line numbers > > include "ERROR: BoundsError()" and "ERROR: `*` has no method matching > > *(::Array{Complex{Float64},3}, ::Array{Float64,1})" > I'm not 100% sure, but I think this is currently improving with the new > LLVM versions (in particular on Windows). Anyway that's not going to > remain like this. > > > * I guess there is some sort of compilation happening when a file is > > 'included'; can we have that spit out errors, rather than waiting for > > the JIT to work? The sooner we can see errors in my code, the better. > What kind of errors do you think about? (IDeally, can you even provide a > reproducible example?) > > > * At the matlab prompt, I can type 'str" then ctrl-P and it finds the > > most recent command in the history that starts with 'str' and puts it > > on my command line. I can then hit enter immediately and execute it. > > It appears that with the current Julia setup, one has to type ctrl-R > > to enter (reverse-i-search), where you can type 'str' and then ctrl-P > > or ctrl-N to move forward and back through the history. On finding an > > entry to execute, one has to type enter twice, once to exit the > > interactive search and once to execute the command. Is it possible to > > configure Julia to have a matlab-style search always active? I tried > > playing around with the "Custom Keybindings" description in the manual > > (http://bit.ly/1uOsoWq), but I didn't know what I was doing. > > * Is there anything like Matlab's 'format'? Something so I don't see > > so many significant digits when using print? > > * Why does string concatenation use the "*" operator and not "+"? > > (yes, this is completely minor, but I'm curious anyway... :-) > This one has been discussed several times on the list already, just > search for "strong concatenation". > > > * I'd like to type "exit" instead of "exit()" or "edit myfile" instead > > of "edit("myfile") I can likely get used to this, but right now I'm > > noticing those few extra characters that I'm typing :-) Could > > anyone explain the motivation for this choice? > I guess this is because Julia tries to limit the number of > special-cases, so 'exit' is a function and it's called with exit(), same > for 'edit'. If you start being able to call some functions without > parentheses everything becomes inconsistent an harder to predict. > > > This week I ported a 500-line Matlab script to Julia 0.3.2; these > > questions and comments are the result. My main impression is that > > debugging is painful; to be useful as an every-day tool, the > > interaction with the REPL and the write code/debug iteration has got > > to improve. > > > > My best > > > > Chris > > > >
