caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Samuel Mimram <samuel.mimram@ens-lyon.fr>
To: "Caml Users Mailing List" <caml-list@inria.fr>
Subject: Re: [Caml-list] Ocaml and Samba function name collisions
Date: Tue, 25 Nov 2003 13:55:37 +0100	[thread overview]
Message-ID: <20031125135537.7e947b4f.samuel.mimram@ens-lyon.fr> (raw)
In-Reply-To: <008b01c3b329$0f871d50$0274a8c0@PWARP>

We've had recently exactly the same problem with libsmbclient (we even posted it here but no one seemed to have noticed it). The only solution we found yet was to modify the source code of libsmbclient to rename the colliding names (string_set and sys_open). But this is clearly not a good solution.

The #define you suggested does not seem to work and I think this is beacause they are not exported in the header files but are in the the .so and therefore visible in the global C namespace. And I'd prefer not to have to use C++ (I think I should be able to do it in C), so I did not try the namspace trick.

That's why, unless someone has a canonical solution to the problem, I think functions with such common names should have their names prefixed.


Samuel Mimram.


On Tue, 25 Nov 2003 16:52:22 +0900
"Nicolas Cannasse" <warplayer@free.fr> wrote:

> > > The synopsis of this message is to ask that the Ocaml source
> > > code prepend a Ocaml specific string, "ml_", "caml_" or "ocaml_"
> > > to all function names in Ocaml's source code to avoid name
> > > collisions with other packages.  My case is made below :)
> >
> > I will definitely sign this petition. I had a similar problem while
> > trying to write an ocaml binding to the graphviz library. Both the
> > libraries defined, IIRC, a color struct used in graphviz for node colors
> > and in ocaml by the GC :-(
> 
> This is not a primitive name problem, but a data structure one (when
> including file).
> It can be easily resolved by using a #define color caml_color (or the
> working equivalent) before including the caml headers.
> Other solution is to put the caml headers into a C++ namespace.
> BTW I'm not signing this petition : having everything prefixed with caml_ is
> way to heavy. But for theses string_get string_set primitives that's true
> the naming is too much generic and proper to name collision. Only theses
> kinds should be renamed.
> 
> Nicolas Cannasse
> 
> -------------------
> To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
> Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
> Beginner's list: http://groups.yahoo.com/group/ocaml_beginners


-- 
Samuel Mimram

samuel.mimram@ens-lyon.fr

-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners


  reply	other threads:[~2003-11-25 12:55 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <3FC174F5.13617AC8@orcaware.com>
     [not found] ` <20031124095952.GE25688@redhat.com>
2003-11-25  0:31   ` Blair Zajac
2003-11-25  7:38     ` Stefano Zacchiroli
2003-11-25  7:52       ` Nicolas Cannasse
2003-11-25 12:55         ` Samuel Mimram [this message]
2003-11-25 14:32           ` Nicolas Cannasse
2003-11-26  7:17             ` Blair Zajac
2003-11-25  9:21       ` Richard Jones

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20031125135537.7e947b4f.samuel.mimram@ens-lyon.fr \
    --to=samuel.mimram@ens-lyon.fr \
    --cc=caml-list@inria.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).