English version
Accueil     À propos     Téléchargement     Ressources     Contactez-nous    

Ce site est rarement mis à jour. Pour les informations les plus récentes, rendez-vous sur le nouveau site OCaml à l'adresse ocaml.org.

Browse thread
Native executable symtable
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2004-11-20 (20:07)
From: Ritesh Kumar <ritesh@c...>
Subject: Re: [Caml-list] Native executable symtable
Actually malc, it is a bit dissapointing (not on you but on the general 
Ocaml community) that you said that. Before I converted myself into an 
Ocaml programmer I quite vigorously fought with google to find out the 
answer to the very same question your patch addresses. I eventually 
came across some old newsgroup/mail-list postings which said why shared 
libraries are good/bad ideas in Ocaml and what are the pros and cons. I 
know I am not an expert in this field but id does seem that having 
ocaml shared libraries is a big step towards wider deployment ( and 
what's more, perhaps an entire userspace of its own!). I didn't find 
the reasons given against shared libraries very convincing. Among other 
things I value dynamic module linking (during program runtime) as it is 
with languages like Java/C a lot as they give numerous opportunities to 
the programmer.
The patch that you have developed is a good step forward. I think it 
has a lot of utility and it should be part of the main opt compiler.


Impossibility is a relative concept.

On Nov 20, 2004, at 2:17 PM, malc wrote:

> On Sat, 20 Nov 2004, Alex Baretta wrote:
>>>> What does this patch do? I clicked on the link but could not make 
>>>> any sense out the page you referenced.
>>> I don't know how to put it more bluntly than that (already on the 
>>> page):
>>> <quote>
>>> What is it?
>>> A patch, against OCaml 3.07, making it possible to: create, link 
>>> against and dynamically load shared objects on i386 ELF and Win32 
>>> platforms.
>>> </quote>
>> I read this, but I don't see how this differs from the behavior of 
>> vanilla Ocaml. I commonly use shared-object libraries in my code, and 
>> the Ocaml compiler can generate DLLs out of libraries for use within 
>> C code. The problem addressed by ASMDynlink dynlinking Ocaml compiled 
>> code within a running native code application. What has Vitaly's 
>> patch to do with this?
> Keyword here is "for use within C code", this patch is "for use within
> OCaml code", also adressing name mangling, shared GC and runtime. 
> Additionally it Natdynlink module is introduced (Natdynlnk mimics the
> behaviour of Dynlink, but works with natively compiled OCaml shared
> object). A little bit of research on the page would have (like, for
> instance, getting the examples provided or reading README) would have
> given you just as much information.
>> I also don't understand your sarcasm.
> Sarcasm spurs from the fact that first version of this patch was
> introduced in 2001 and developed till 2003. I had hoped that this will
> result in some reaction, if not from Inria developers then from OCaml
> users, alas this was not the case. Nothing w.r.t. native shared object
> and/or dynamic linking of native code has changed since then. I myself
> asked and waited for something akin to this for a bit, then decided to
> went ahead and did it on my own, big mistake, all signs are there that
> people do not need this functionality bad enough to do anything.
> So be it.
> -- 
> mailto:malc@pulsesoft.com
> _______________________________________________
> Caml-list mailing list. Subscription management:
> http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
> Archives: http://caml.inria.fr
> Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
> Bug reports: http://caml.inria.fr/bin/caml-bugs