Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RFE: ability to compile a native code OCaml library into an .so (w/o strict version checking) #8418

Closed
vicuna opened this issue Dec 17, 2003 · 1 comment

Comments

@vicuna
Copy link

vicuna commented Dec 17, 2003

Original bug ID: 1983
Reporter: administrator
Status: closed (set by @xavierleroy on 2012-01-27T10:52:40Z)
Resolution: fixed
Priority: normal
Severity: feature
Fixed in version: 3.11.0
Category: ~DO NOT USE (was: OCaml general)
Monitored by: nogin

Bug description

Full_Name: Aleksey Nogin
Version: 3.07+2
OS: Red Hat Linux
Submission from: charter-242-037.caltech.edu (131.215.242.37)

It would be really nice if it was possible:

a) to compile a native code OCaml library into an dynamic library (.so)
b) then link an OCaml program against an OCaml .so,
c) dynamically load and OCaml .so from an OCaml program. Ideally, the interface
for doing it would be shared between the bytecode (for dynloading of .cmo) and
native code (for dynloading of .so/.cmxa)

I know that there are a lot of issues if one insists on some smart version
compatibility checking. This RFE is not about that - I would be happy if the
generated libraries were strongly tied to the environment in which they were
compiled and any slight change would require a recompile.

Basically, our project (http://metaprl.org/) will benefit significantly if it
was possible to load modules at runtime - both in bytecode (similarly to the way
camlp4 does it) and native code.

P.S. http://www.boblycat.org/~malc/scaml/ implements something like this.

@vicuna
Copy link
Author

vicuna commented Jan 27, 2012

Comment author: @xavierleroy

Dynamic loading of natively-compiled OCaml code was implemented in version 3.11.0.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant