From: David McClain
Subject: Seeking advice on DLL name clash avoidance
Date: 
Message-ID: <t2ee6lcqgmfe20@corp.supernews.com>
Hi,

I just decided to try porting some code using the C-FFI of ACL 6.0. In the
process I discovered that the new FFI no longer binds external callables to
specific DLL's. Instead, you simply declare the name of the entry point and
you have to separately load a DLL with those entry points available.

But this begs the question of how to avoid order dependencies in DLL's that
may declare the same named entry points. Or even worse, how to avoid future
potential difficulties with DLL's that might name the same entry points as
existing DLL already in use.

As far as I can tell, I have to write my own C wrapper functions around all
anticipated DLL entry points and guarantee that they have unique names, such
as by embedding a UUID in each name.

Does anyone have any better ideas on this?

Thanks,

- David McClain, Sr. Scientist, Raytheon Missile Systems Co., Tucson, AZ

From: Kaelin Colclasure
Subject: Re: Seeking advice on DLL name clash avoidance
Date: 
Message-ID: <wuk89kuo59.fsf@soyuz.arslogica.com>
"David McClain" <········@azstarnet.com> writes:

> Hi,
> 
> I just decided to try porting some code using the C-FFI of ACL 6.0. In the
> process I discovered that the new FFI no longer binds external callables to
> specific DLL's. Instead, you simply declare the name of the entry point and
> you have to separately load a DLL with those entry points available.
> 
> But this begs the question of how to avoid order dependencies in DLL's that
> may declare the same named entry points. Or even worse, how to avoid future
> potential difficulties with DLL's that might name the same entry points as
> existing DLL already in use.
> 
> As far as I can tell, I have to write my own C wrapper functions around all
> anticipated DLL entry points and guarantee that they have unique names, such
> as by embedding a UUID in each name.
> 
> Does anyone have any better ideas on this?

Yes -- file a bug report with Franz! :-)

-- Kaelin
From: David McClain
Subject: Re: Seeking advice on DLL name clash avoidance
Date: 
Message-ID: <t2gi7s92ld3db9@corp.supernews.com>
Kaelin Colclasure wrote in message ...
>
>Yes -- file a bug report with Franz! :-)


Actually, I did just that a few days before posting my query to the group.
Their response was "Yes indeed - you have to do that!". They said that the
Unix version of ACL has always been like this, and they decided (rather
lazily I think) to propagate this terrible behavior forward. They also said
in paraphrase, "Gee do you ever have conflicts arise?"

It is enough to drive me back to OCaml for everything that I write that must
survive beyond my own desktop.  I normally look to Lisp to solve problems
for me, not to have more created for me. I strenuously object to this kind
of behavior in a computer language. I have had the unfortunate experience of
10 years with RSI/IDL which behaves very similarly.

Hence, I was hopefully seeking the advice of other sages on this net....

- DM
From: Marc Battyani
Subject: Re: Seeking advice on DLL name clash avoidance
Date: 
Message-ID: <90ac0j$p3m$1@reader1.fr.uu.net>
"David McClain" <········@azstarnet.com> wrote in message
···················@corp.supernews.com...
>
> Kaelin Colclasure wrote in message ...
> >
> >Yes -- file a bug report with Franz! :-)
>
>
> Actually, I did just that a few days before posting my query to the group.
> Their response was "Yes indeed - you have to do that!". They said that the
> Unix version of ACL has always been like this, and they decided (rather
> lazily I think) to propagate this terrible behavior forward. They also
said
> in paraphrase, "Gee do you ever have conflicts arise?"
>
> It is enough to drive me back to OCaml for everything that I write that
must
> survive beyond my own desktop.  I normally look to Lisp to solve problems
> for me, not to have more created for me. I strenuously object to this kind
> of behavior in a computer language. I have had the unfortunate experience
of
> 10 years with RSI/IDL which behaves very similarly.

This is not a "kind of behavior in a computer language" it's a kind of
behavior in a computer language *implementation*.
There are several other implementations of Common Lisp that don't have any
problems with DLLs.

Marc
From: David McClain
Subject: Re: Seeking advice on DLL name clash avoidance
Date: 
Message-ID: <t2iiffnk3r0h54@corp.supernews.com>
I repeat... Anyone have any better ideas on how to handle this situation?

- DM
From: Kaelin Colclasure
Subject: Re: Seeking advice on DLL name clash avoidance
Date: 
Message-ID: <wubsuuv99z.fsf@soyuz.arslogica.com>
"David McClain" <········@azstarnet.com> writes:

> Kaelin Colclasure wrote in message ...
> >
> >Yes -- file a bug report with Franz! :-)
> 
> Actually, I did just that a few days before posting my query to the group.
> Their response was "Yes indeed - you have to do that!". They said that the
> Unix version of ACL has always been like this, and they decided (rather
> lazily I think) to propagate this terrible behavior forward. They also said
> in paraphrase, "Gee do you ever have conflicts arise?"
> 
> It is enough to drive me back to OCaml for everything that I write that must
> survive beyond my own desktop.  I normally look to Lisp to solve problems
> for me, not to have more created for me. I strenuously object to this kind
> of behavior in a computer language. I have had the unfortunate experience of
> 10 years with RSI/IDL which behaves very similarly.
> 
> Hence, I was hopefully seeking the advice of other sages on this net....

David, my response was (perhaps too) terse, but not flip. This is without
question entirely broken behavior, and once Franz has the issue pointed
out I have no reason to think they won't fix it. (True, they should perhaps
know better...)

I'd hate to see you waste time and energy in search of a work-around for
something this fundamentally broken. The only reasonable solution is to
fix the tool. And only Franz can do that -- hence my one-sentence reply.

-- Kaelin