[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