Ben Tilly wrote:

# Conrad Schneiker" <schneik / us.ibm.com> wrote:
# >
# >Nathaniel Talbott wrote:
# [long essay omittted]
# >Given this situation, about the only practically effective way to
# >argue for adding some additional form of static type checking to Ruby
# >is to base such arguments on actual experience with Ruby programs.
# >Only on the basis of such (and much!) *actual* *Ruby* *experience*
# >would you then have a reasonable clue about what sorts of things were
# >actually needed, why they were needed, and where they were needed. I
# >strongly suspect that some optional Ruby Way (tm) of static
# >type-checking will eventually be developed, but I doubt that C++ will
# >be the language that Ruby will borrow from.
# 
# I have suggested before, and I still think, that it would be very
# useful for Ruby to have a way to explicitly declare private
# variables and have a lexically scoped pragma that does not allow you
# to use anything not declared to be a variable as a variable.
# Likewise it would be useful to keep track of what methods have been
# used in a class, and it would be good to have a pragma which means,
# "This class should now be self-contained, all functions in it should
# resolve properly."
# 
# These two additions would be analogous to Perl's strict pragma.
# They are (as you can see) not very strict, but between them you
# manage to catch most stupid typos.

You're starting to sound like a broken record, but at least the tune is 
interesting. :-)

This brings up a more general question, which has been discussed several 
times before, but I don't recall any definite resolution. What process 
should be used to queue up half-way reasonable suggestions and to get some 
sort of provisional determination made as to their future (e.g. "Not a 
chance"; "Not likely, but ask again in a year or two"; "Let's think about 
it for Ruby m.n"; "Let's find out if the Ruby community can reach a 
mutually satisfactory consensus about what form to implement", and so on)? 
Python and Tcl have some sort of semi-formal process for dealing with 
proposals so that things aren't left in indefinite limbo. How about 
something similar for Ruby?

Conrad Schneiker
(This note is unofficial and subject to improvement without notice.)