robertj wrote:
> the problem imo is not to define a "sound" typesystem
> (as most static typing systems try to do and fail
> regardless of the imense effort that has been put into)
> but one that helps to define contracts on the borders of your
> system without being restricting on the rest of the system.
>
> the only language i know that did an excellent job on that
> was VB (classic) where you could work mostly untyped
> (if you wanted and you did not care bout performace).
> whenever you wanted to release a COM-object you had
> to define the types.
> this was a very pragmatic approach.

See also boo http://boo.codehaus.org/ which has both static
and dynamic typing.  http://boo.codehaus.org/Duck+Typing
It has some stuff borrowed from ruby like anonymous closures.

If you pass "-wsa" to the booc.exe compiler, it will use "end"
statements like ruby instead of python-like indenting (although
it still requires the redundant colon at the beginning of a block).