On Thu, Sep 8, 2011 at 11:36 AM, Attila Lendvai
<attila.lend...@gmail.com> wrote:
> On Thu, Sep 8, 2011 at 13:15, Luís Oliveira <luis...@gmail.com> wrote:

> Oh. That's right, unless it's an enhanced-foreign-type it won't go
> through the translation mechanism. Adding that as superclass should
> work.

> I think we need a new DEFCSTRUCT-like macro, let's call it DEFCSTRUCT*
> for now. *sigh*

> With a different macro we can (a) implement call-by-value semantics by
> default, (2) add the enhanced-foreign-type superclass by default, and
> probably (3) have a sane value for :CLASS, not sure.

> Does that makes sense?

>> Suggestions on how to best handle backwards-incompatible API changes
>> like this are most welcome.
>
>
> my 0.02: tag the repo, make a big fat warning in the commit message,
> and go on developing.
>
> --
>  attila

I agree on the strategy where an incompatible change is necessary, but
in this case in particular I don't see that a backwards-incompatible
change is necessary.   Can't we by default make defcstruct objects
instances of enhanced-foreign-type by default without negatively
affecting call-by-reference applications?  If not, we can add an
optional argument, but I'm concerned about cases where we need both
call by ref and by value.

Liam

_______________________________________________
cffi-devel mailing list
cffi-devel@common-lisp.net
http://lists.common-lisp.net/cgi-bin/mailman/listinfo/cffi-devel

Reply via email to