> Overhead considerations aside, I think it would
> be desirable to have identifiers be case-insensitive... ?

As Robert Dober said, in Ruby, constants (Upper case) are
different beasts than variables (lower case).

An unfortunately unpasteable example:

irb(main):001:0> Hello = "I am a constant!"
=> "I am a constant!"

irb(main):002:0> hello = "I am a variable."
=> "I am a variable."

irb(main):003:0> Hello = "Indeed, I am a constant."
(irb):3: warning: already initialized constant Hello
=> "Indeed, I am a constant."

irb(main):004:0> def access_variable_example
irb(main):005:1>    puts hello
irb(main):006:1> end

irb(main):007:0> access_variable_example
NameError: undefined local variable or method `hello' for main:Object
	from (irb):5:in `access_variable_example'
	from (irb):7
	from /usr/local/bin/irb:12:in `<main>'

irb(main):008:0> def access_constant_example
irb(main):009:1>    puts Hello
irb(main):010:1> end
=> nil

irb(main):011:0> access_constant_example
Indeed, I am a constant.
=> nil

It is desirable for a language to have a syntax which reflects the
semantics.  Capitalization is easy to see, easy to type, and
doesn't add any extra waffle.

Also, case sensitivity gives me more choice.  I can have sockets and
Sockets and SOCKETS, and have them, individually, mean whatever I want
to.

Johnny