[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Comments on Dylan
- To: info-dylan@cambridge.apple.com
- Subject: Re: Comments on Dylan
- From: Jim Mayer <mayer@wrc.xerox.com>
- Date: Mon, 2 Nov 1992 13:18:42 PST
- In-reply-to: Your message of "Mon, 02 Nov 92 12:53:19 PST."             <9211022053.AA02373@fliff.wrc.xerox.com> 
Oops... I left one out.
(10) Change: Make the reader case sensitive, but continue to use case
insensitive comparisons for variable names (since the Dylan designers
seem to like that style).  Introduce a new predicate "variable-id?" to
handle case insensitive comparisons of symbols.  The following code
shows how this would work:
    (bind ((fuBar 3)
	   (FuBar 4))
	  (print (list 'fuBar 'FuBar fuBar FuBar
                       (id? 'fuBar 'FuBar)
                       (variable-id? 'fuBar 'FuBar))))
    =>
    (fuBar FuBar 4 4 #f #t)
The "variable-id?" function can be implemented as a constant time
operation by having each symbol contain a pointer to a cannonical
representation.
The justification for this change is to let symbols as DATA be case
sensitive, while retaining case insensitive comparisons for variable
names.
Disclaimer #1: symbol case is a fundamentally religious issue.
Disclaimer #2: my way is the only way.
-- Jim Mayer
                                        Phone: (716) 422-9407
Webster Research Center                 Intelnet phone: 8*222-9407
Xerox Corporation                       Internet Email: mayer@wrc.xerox.com
800 Phillips Road, 0128-29E             XNS Email: James L Mayer:Wbst128:xerox
Webster, New York 14580                 Facsimile: (716) 265-7133