On Tue, 17 Oct 2000, Franz GEIGER wrote:

> > 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?
> 
...
>
> Finding type mismatches seems to me requiring static typing. But that's step
> two - 1st one has to find all his typos.
> 

I love typed languages, unfortunately the trend in last years (for
scripting languages at least) has been toward untyped languages (someone
could explain why???).

In the broadest sense types are the whole class of static information, and
IMHO the typos you are referring to are a simple instances of type errors
in which the only type you have is the "defined" type.

If your language lacks declaration, you have no way to sort out mispelled
identifiers (not "defined" type errors) from assignement to fresh
variables (a kind of "define" type declaration plus initialization).

Bye,

				Davide