Re: What would you like to see in XML::LibXML ?

Shlomi Fish <[email protected]> Tue, 31 Jan 2012 11:04:35 +0200
Newsgroups gmane.comp.lang.perl.xml
Message-ID <[email protected]>
Hi Aristotle,

On Tue, 31 Jan 2012 08:44:55 +0100
Aristotle Pagaltzis <[email protected]> wrote:

> Hi Shlomi,
> 
> * Shlomi Fish <[email protected]> [2012-01-29 21:15]:
> > * Aaron Crane <[email protected]> [2012-01-29 15:55]:
> > > I believe the tricky bit is ensuring that the annotations always
> > > have their reference counts updated at precisely the right time.
> >
> > Yes, it would be very tricky. One option to overcome this may be to
> > make these annotations be “tokens” which are arbitrary perl strings
> > or numbers, but not arbitrary perl scalars. The XML-LibXML programmer
> > will be able to map or unpack these tokens into something more
> > complex, but it would be their responsibility to allocate unique
> > tokens and to free their resources later.
> 
> that manages to just barely allow Aaron’s use case at all, but it does
> not make it possible to do it solidly, much less do it with a semblance
> of convenience. It leaves what is essentially LibXML’s responsibility
> as an exercise to the client code, which does not have exact knowledge
> of what is going on in the DOM data structure, and is thus left to try
> doing an approximate job of managing its own associated resources.
> 

You are right.

> Aaron may feel differently about this, but to be honest, if this is your
> final offer (so to say), then I would rather prefer that the feature not
> be added at all than tie up the _private slot and stunt the possibility
> of a more a elegant interface in the future.

"No problem in computer science is too hard that it cannot be solved by adding
another level of indirection". We can always store a dictionary whose only
key are these string annotations and leave the other keys for future use.

Thanks for directing my attention to this issue. 

> 
> If it is *impossible* to do correctly, then that is another matter. If
> it merely is very tricky, though, then it is the job of an API to hide
> this exact kind of complexity behind a veil of magic. LibXML does quite
> a good job of this for libxml2 in other areas.

I don't think it's impossible, just incredibly hard and possibly very
error-prone. And as they say, a bird in the hand is better than two in the bush.

Regards,

	Shlomi Fish

-- 
-----------------------------------------------------------------
Shlomi Fish       http://www.shlomifish.org/
Optimising Code for Speed - http://shlom.in/optimise

If his programming is anything like his philosophising, he would find ten
imaginary bugs in the “Hello World” program.

Please reply to list if it's a mailing list post - http://shlom.in/reply .
_______________________________________________
Perl-XML mailing list
[email protected]
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs