Case-insensitive selectors

jarvisb at timken.com jarvisb at timken.com
Wed Jan 28 12:31:49 UTC 1998


I personally prefer case-sensitive languages to case-insensitive
languages.  If I want to have selectors or procedures named abc, Abc,
ABC, and aBc in a program I darn well expect the language to allow it
and not try to limit what can be done.  I also *HATE* underscores and
dashes in identifier, selector, or procedure names.  If I wanted to
PROGRAM-IN-COBOL or PROGRAM_IN_PL_1 <gag!> I'd do so.  I don't.  Keep
Smalltalk case-sensitive!!!!  :-)

*************************** Attachment ***********************************
Date: 27 January 1998, 18:55:59 EST
>From  Patrick Logan                                  patrickl at INTERNET
      patrickl at servio.gemstone.com
                                                     squeak   at INTERNET
      squeak at cs.uiuc.edu
To:                                                squeak   at INTERNET
      squeak at cs.uiuc.edu
cc:                                                recipien at INTERNET
      recipient.list.not.shown:@

In-Reply-To: <199801272332.AAA11356 at monet.cs.uni-magdeburg.de>
Reply-To                                                 squeak   at INTERNET
      squeak at cs.uiuc.edu
Subject: Case-insensitive selectors

Resent-Date: 27 Jan 1998 23:56:03 -0000
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-Mailer: VM 6.22 under 19.15 XEmacs Lucid
X-Mailing-List: <squeak at cs.uiuc.edu> archive/latest/400
X-Loop: squeak at cs.uiuc.edu
Resent-Sender: squeak-request at cs.uiuc.edu

    From my point of view (I am _not_ one of the "original" smalltalk
    designers) it's just the other way around. In a static language
    you have all the time you need for compiling and linking and doing
    case insensitive comparisons.  Smalltalk, however, does lots of
    things with its selectors.  You can "perform:" them which is in
    basically a lookup of the signature.  In principle, this happens
    every time a message is sent.  I'd say if the method lookup takes
    longer for case-insensitive comparisons this a very good reason to
    stay case insensitive.

I am not advocating for case-insensitity but in response to the
message above, if one were to adopt this policy:

(1) It would seem to me selectors could be replaced by all upper- or
lower-case selectors at compile (i.e. "accept") time. Then all lookups
would be canonical.

(2) Common Lisp and other Lisps are case-insensitive and work fine in
an interactive environment. Its syntax is more suited though since it
can easily use - as a separator rather than _ which requires a <shift>
key.

(3) WithoutASeparatorLike_or-IdGuessMostPeopleWouldStillTypeLikeThis

--
Patrick Logan                 mailto:patrickl at gemstone.com
Voice 503-533-3365            Fax   503-629-8556
Gemstone Systems, Inc         http://www.gemstone.com





More information about the Squeak-dev mailing list