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

S-expressions instead of strings

At 01:33 PM 3/29/97 EST, Ron Rivest wrote:
>What if a Chinese user wants to give appropriate names to the public keys
>of his colleagues?  Shouldn't he be able to used unicode, e.g.
>	[unicode] chinese-name

Of course he should.

>(or, following my previous note)
>	( display-type unicode chinese-name )

I'm having doubts about this idea, although I like the generality.  If we 
were programming in LISP, it would be a shoe-in.

If you're using a language like C or PASCAL, I don't think it saves 
significant space over the [unicode] variant.  In the [y] "xx" form, you 
need a pair of pointer slots, one for the display info and one for the 
string itself.  (Can display types be in non-ASCII and need their own 
display types?)  In the S-expression form, you need something for each string
to say whether it is a raw byte-string or an S-expression.

I do think it complicates the code which has to use these "tokens".  How 
does one do string comparisons?  Instead of knowing that you compare byte 
strings, you need to be prepared to compare string:string, S-exp:S-exp, 
S-exp:string, ....

{E.g., would we allow ( display-type ASCII byte-string )  }?

 - Carl

|Carl M. Ellison  cme@cybercash.com   http://www.clark.net/pub/cme |
|CyberCash, Inc.                      http://www.cybercash.com/    |
|207 Grindall Street   PGP 2.6.2: 61E2DE7FCB9D7984E9C8048BA63221A2 |
|Baltimore MD 21230-4103  T:(410) 727-4288  F:(410)727-4293        |