[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: predicate->char-set considered harmful

This page is part of the web mail archives of SRFI 14 from before July 7th, 2015. The new archives for SRFI 14 contain all messages, not just those from before July 7th, 2015.



   From: lucier@xxxxxxxxxxxxxxx
   Date: Sun, 17 Dec 2000 22:44:02 -0500 (EST)

   What about predicate->char-set on large (Unicode or larger) character sets?
   I'd certainly not want to call a function 65536 times (or 2^32 times) just
   to construct a char-set. And a user may not know that a Scheme
   implementation has two-byte or four-byte characters. (How many people know
   that Gambit has 2-byte chars by default?) I just don't see how it's really
   helpful to have this function, and I think it should be eliminated.

   I have similar, but less strongly pronounced, difficulties with
   char-set-invert. 

Valid concerns, but it can't be helped. People frequently describe sets of
things by predicate; you need a way to convert that into a true set.

You absolutely need a complete set of set operators, and set complement
is no more inefficient that set intersection or union or any of the other
ops.

There is a role for these ops, even in implementations where they are
expensive. For example, to define sets that are essentially read-only
once defined. It's acceptable to crunch a little bit defining the char set
at program initialisation time.

This is simply more evidence that textual computing in a rich-text world
is not an easy thing.
    -Olin