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