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

Re: extending the discussion



In article <199912151957.LAA14546@xxxxxxx>, Tom Lord <lord@xxxxxxx> wrote:

>	* Permitting string indexes everywhere encourages programmers
>	  seeking to write portable code to use string indexes when
>	  shared substrings would be simpler and less error prone.
>	  This makes it awkward to incorporate the code such
>	  programmers write into systems which support shared
>	  substrings.  Moreover, manipulating string indexes is
>	  notoriously error prone and so should not be a prominent
>	  feature of portable Scheme style.

I agree, it's not a good idea to have indexes everywhere.

>	* The CHAR/CSET/PREDICATE convention complicates the
>          implementation of every procedure which uses it.  Future
>          extensions to the library are similarly complicated.
>
>	* The addition of a single procedure to the character set
>          library could simplify the convention:
>
>		(char-set-membership cset) => predicate
>
>	  where
>
>		(predicate c) => #t  ; if c is in cset
>				 #f  ; otherwise
>
>	   With `char-set-membership', the convention should be
>	   simplified to CHAR/PREDICATE.

This sounds like a good idea. It has also the advantage that it
decouples this SRFI from the charset SRFI.

>Another secondary issue is whether symbols should be acceptable as
>arguments to procedures that expect strings but that do not modify
>those strings.

I don't agree. Symbols and strings are different things, don't mix them
up!

>A final secondary issue is whether procedures that construct strings
>from individual elements permit the use of strings (and symbols) as
>elements.  SRFI-13 says they do not but I have found this feature to
>be natural, easy to implement, and useful.

I don't rellay understand this. Can you give an example?