Yes, a typo is exactly what I was originally asking about, especially in error-handling code that might not be executed for years. 'ruby -w' didn't catch my problem. A lint-like program doesn't need to know for sure that there is a problem; it just needs to point out suspicious things even if they may be legal. If there is only one "NavgationDefinition" in the program, it is likely a typo, even if technically it could be defined elsewhere. The lint programs for Python don't work very well, so it is likely that it will be hard to write a useful lint program for Ruby. Yukihiro Matsumoto <matz / zetabits.com> wrote in message news:E13lTM5-0003CS-00 / ev.netlab.zetabits.co.jp... > In message "[ruby-talk:5631] Re: lint?" > on 00/10/17, "Franz GEIGER" <fgeiger / datec.at> writes: > |> I'm afraid it requires static type information, which Ruby does not have. > |Does it really? What about typos? E.g. someone "defines" a param > |NavigationDefinition but refers to it as NavgationDefinition. Why do we have > |to find such errors at runtime? > For typos, `ruby -w' may help. But Ruby is really a dynamic language. > You can even define everything at runtime. So the interpreter cannot > know FOR SURE whether your program has error or not until runtime. > With -w option, Ruby tells you some suspicious occasions. > > matz.