Ah, it is a package already. Oops. --Tim
On Friday, June 06, 2014 02:22:22 PM Tony Fong wrote: > Hello, > > First of all, let me say it's been a real pleasure working in the Julia > environment. > > I have been coming from a very different platform, and I noticed myself > making mistakes of a certain pattern. So as a little side project, I wrote > this little tool called Lint.jl that can check for some of them. > > It is at https://github.com/tonyhffong/Lint.jl.git > > I'm very new to Julia/git environment so it's a bit unpolished. But it is > handy pointing out certain mechanical issues quickly. > > What it can find out now: > > - simple deadcode detection (e.g if constant-true/constant-false) > - simple premature-return deadcode detection > - &, | being used in a Bool context. Suggest && and || > - Declared but unused variable > - Using a undefined variable (not working well in macros) > - Exporting non-existing symbols (not fully done yet, again due to > macros) > - Exporting the same symbol more than once. > - Name overlap between a variable and a lambda argument > - Assignment in an if-predicate, as a potential confusion with “==” > - Using globals in function without declaring them (This one isn't an > error, but I personally prefer explicit declaration of globals dependency > inside functions for readability.) > - length() being used as Bool. It'd suggest using isempty() > > > I'd love to hear comments and feedback. Thank you for your consideration. > > Tony > > p.s. I have pointed this to base/sysimg.j. The result is illuminating (for > me at least). The obviously substantial macro-related noise is a great way > for me to learn what wizardry it been used for.
