>>>>> "Eric" == Eric Bezault <
[hidden email]> writes:
Eric> In my mind, it has always been clear that we should use
Eric> SPECIAL for efficency reason. The reason why this could be
Eric> bypassed is that at the time of writing some of the
Eric> supported Eiffel compilers did not support SPECIAL. Using
Eric> ABSTRACT_SPECIAL is not really a solution because it
Eric> introduces polymorphism, hence reducing the performance that
Eric> we want to gain by using SPECIAL directly.
But with SPECIAL comes the need for a copy. Which is a bit slow
especially in debug mode. It's not a huge problem, but it would be
nice if SPECIAL had a fast way to copy data from a given pointer.
Eric> YY_SCANNER_SKELETON has been changed in such as way because
Eric> during the current migration to void-safety
Eric> KI_CHARACTER_BUFFER.as_special has been turned to return a
Eric> non-void SPECIAL. I think that the problem comes from
Eric> here. Your version of class buffer is now likely to violate
Eric> this new postcondition in `as_special'.
Indeed, saw the comment and I indeed inherit from KI_CHARACTER_BUFFER.
Eric> I'll see what I can do to revert this change. I must say
Eric> that I'm not a fan of all this void-safety thing. For code
Eric> that was well equipped with assertions like the Gobo
Eric> libraries, converting to void-safety makes the code more
Eric> convoluted, hence harder to read and maintain.
Interesting perspective.
But I suppose it's a hard call. Without SPECIAL reading from the might
be a bit slower, but if you need t copy to special first + read
from SPECIAL I think the overall case has become a bit slower.
--
Cheers,
Berend de Boer
------------------------------------------------------------------------------
Crystal Reports - New Free Runtime and 30 Day Trial
Check out the new simplified licensing option that enables unlimited
royalty-free distribution of the report engine for externally facing
server and web deployment.
http://p.sf.net/sfu/businessobjects_______________________________________________
gobo-eiffel-develop mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gobo-eiffel-develop