This is the mail archive of the
kawa@sourceware.org
mailing list for the Kawa project.
Re: behavior of CASE with strings PART 2
On 01/17/2017 07:57 AM, Jamison Hope wrote:
On Jan 17, 2017, at 8:23 AM, Per Bothner <per@bothner.com> wrote:
CASE *cannot* meaningfully be used with strings.
Indeed. Meanwhile, this sort of categorization of strings can be
useful, as evidenced by the addition of String switches to Java 7.
I guess we could add it as a Kawa "extension", but it would explicitly
violate r5rs/r7rs.
The portable Scheme way to do this would be to use symbols instead of
strings, since ordinarily symbols are interned and thereby eqv?, but I
could see a place for Kawa-specific syntax that compiles to the
equivalent of a Java String switch block (which uses hash codes and a
lookupswitch to avoid doing every string comparison in a big if-else
chain).
I think this is something to think of for the Kawa 3.0 release,
using the new PATTERN construct in each clause.
--
--Per Bothner
per@bothner.com http://per.bothner.com/