String interning (WAS: SAX2/Java: Towards a final form)

Clark C. Evans clark.evans at manhattanproject.com
Thu Jan 13 20:23:40 GMT 2000


On Thu, 13 Jan 2000, Tim Bray wrote:
> Yes.   Given that *every* credible parser does this, and that it's
> a major convenience for programmers using the API to be able to compare
> strings with ==, there is at some level an argument that we ought to
> expose this fact.

There are going to be lots of server side filter
architectures using the SAX interface which may
not do this.  Indeed, I'd say that the "parser" 
interface is mis-named.  It's really an "emitter".
And I'd go so far to say that in a few years, 
99% of the "emitters" out there won't be parsers!

So, requiring the authors of those emitters
to be aware of Java "intern" is streaching it.
I think this is really a compiler optimization
issue and should not be part of the interface.
A java compiler could, for instance, take:

  lhs.equals(rhs)

and compile it as

  ( lhs == rhs | lhs.equals(rhs) )


Best,

Clark


xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ or CD-ROM/ISBN 981-02-3594-1
Please note: New list subscriptions now closed in preparation for transfer to OASIS.





More information about the Xml-dev mailing list