On Mon, Sep 17, 2012 at 1:24 PM, Nathan Kurz <[email protected]> wrote:
> http://blog.omega-prime.co.uk/?p=121

Rats.  I wish what was described in that post actually worked.  It would be
so nice if we could alias e.g. `lucy_Query_to_string_OFFSET` to
`cfish_Obj_to_string_OFFSET`.

Even better if we could alias to a constant, so that e.g.
`lucy_Query_to_string_OFFSET` could be replaced by `72` at link-time.

> I think the general approach of this paper: http://2f.ru/holy-wars/fbc.html
> Old, and C++, but a nice simple approach.  Add padding where you think
> you'll need it, and have an "ioctl" type safety net.   We may also be
> able to use their trick of padding both the top and bottom of the
> VTable to allow us to move things between parent and child.

Yeah, some people abide by such constraints:

    http://techbase.kde.org/Policies/Binary_Compatibility_Issues_With_C%2B%2B

I think it's an outmoded approach in the era of CPAN, rubygems, etc.  The
fragile coupling of C++ is poorly suited for distributed development and dynamic
linking.  Personally, I'm not willing to put up with it.

Clownfish solves most of these issues already -- we don't have to pull any
silly tricks to preserve vtable ABI compat, for example.  Only member variable
issues remain and stand in the way of a comprehensive solution to the fragile
base class problem.

Marvin Humphrey

Reply via email to