[cffi-devel] uffi.asd vs uffi-compat.asd
Jeff Cunningham
j.k.cunningham at comcast.net
Sat Aug 22 17:47:24 UTC 2009
Luís Oliveira wrote:
> That of course is a more general problem that should be solved with
> something like this: <http://paste.lisp.org/display/45282>.
>
> I have seen plenty of people taking advantage of the fact that
> CFFI-UFFI-COMPAT can easily be used as a drop-in replacement for UFFI.
> I have never seen anyone trying to use CFFI-UFFI-COMPAT and UFFI
> simultaneously and I strongly suspect you don't actually have that
> need either.
>
> If for some reason you do need that, it's fairly straightforward to
> use RENAME-PACKAGE to remove CFFI-UFFI-COMPAT's UFFI nickname.
>
>
>
You are absolutely right - I don't have that need. And so far as I know,
elephant doesn't either, but I haven't dug into their code. I'm just
trying to install it to evaluate it. And I have many packages installed
already that use the CFFI-UFFI-COMPAT capability.
>> Both UFFI and CFFI have a right to exist. The gcc analogy isn't valid -
>> these aren't compilers that users expect to be substituting one for another.
>> It doesn't matter that the CFFI people don't like the style of code writing
>> that goes on in the ELEPHANT group.
>>
>
> By "the CFFI people" I presume you mean me, since the other CFFI
> developers haven't joined the discussion. I never said I didn't their
> code style.
>
>
>
Sorry, if I offended you - I didn't mean to offend anybody. I am new to
this list and don't know who the developers are. I used the term "CFFI
people" as a general term to refer to whoever it was on the list who was
criticizing the elephant code rather than deal with the problem which I
believe was created here by a using the uffi.asd name which was bound to
lead to confusion in installations. I think if you asked any randomly
100 selected users _not_ involved in either of these groups, 98 of them
would side with me on this.
>> They chose to use UFFI for whatever
>> reason and should have the right to expect that some other development group
>> won't break their code via the ASDF package system unless there is a
>> dependency relationship.
>>
>
> How are we breaking their code? Just don't use CFFI-UFFI-COMPAT. If I
> just rename the system, Elephant/clbuild won't work either. That was
> my first concern.
>
I don't understand this comment. Please explain. Elephant isn't trying
to use it. It depends on UFFI which wants to see uffi.asd in
asdf:*central-registry*. But when it goes there, it gets diverted to
your version which breaks it.
Yet, I have other codes - many - which use CFFI, so I don't want to
remove that. Its a great package. What does that have to do with clbuild?
>
>
>> Since UFFI came up with the name first, I believe most people would agree
>> they have a prior right to the name.
>>
>
> Nobody is arguing that.
>
>
>
>> I think you should change the name of your file to uffi-cffi-compat.asd
>>
>
> Like I said, I have no problem with that and I agree that it's the
> best way in principle. However, I have a couple of concerns that I've
> mentioned in my previous email which you decided to ignore and instead
> paint this as some personal conflict between the UFFI and CFFI
> developers. That was unfortunate.
>
>
Sorry, I'm not trying to paint a conflict, and certainly nothing of a
personal nature. I'm just trying to get this resolved in what I think is
the right way. I can't see anyway to resolve that doesn't involve some
pain somewhere. I'm trying to take the long view, and in my opinion, the
long view should be to improve the utility of Common Lisp, not UFFI or
CFFI.
I don't see how you can argue that anyone should be able to set up a
package so that when using common automated methods to create links from
asd files it effectively masks another group's package is reasonable. As
someone pointed out, it can be worked around, but only by excluding one
link altogether, which is just as draconian and undesirable. If you
would just name it something unique, they could both coexist and anyone
could chose what they wanted to use.
>
>> Then, inform your users of the fact, and if they were relying on an implicit
>> use of CFFI in place of UFFI they should change their projects to explicitly
>> use CFFI by way of this definition file.
>>
>
> Not sure if this is what you mean, but some projects do indeed already
> use cffi-uffi-compat explicitly (e.g., Edi Weitz's CL-GD uses it in
> order to support CLISP.) but others don't, namely CL-SQL.
>
>
> Bottom line is, if I rename CFFI's uffi.asd, it'll just break a bunch
> stuff within clbuild and Elephant still won't work out of the box. I
> don't see how that could be regarded as an improvement.
>
> I would be glad to work with you to solve the problem, but renaming
> uffi.asd is clearly not the first step.
>
>
What, specifically, will break if you rename uffi.asd to
cffi-uff-compat.asd? One solution would be to contact cl-sql devs and
tell them you are going to change it. Give them a heads up. I'm guessing
Edi already saw the potential problem and used the unique name in
advance. Can you think of a single other package?
And, elephant works just fine out of the box so far as their claims go -
if I rename your compatibility definition file something else.
--Jeff Cunningham
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/cffi-devel/attachments/20090822/7b990dbd/attachment.html>
More information about the cffi-devel
mailing list