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.