caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Kenneth Adam Miller <kennethadammiller@gmail.com>
To: caml-list@inria.fr
Subject: [Caml-list] Library recompilation with OCamljava
Date: Thu, 16 Oct 2014 04:08:47 -0400	[thread overview]
Message-ID: <CAK7rcp-tsu08M3vOVEDhB5EnUBR29PTVdwmrgR-i3KTMe6jnJQ@mail.gmail.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 2253 bytes --]

So, I'm attempting a large library recompile with ocamljava. It's pretty
audacious, because some people in my workplace are rather unwilling to
learn ocaml, yet a very well respected and needed library is authored in
it. Everyone knows java, so we hope very much to recompile the library just
with ocamljava.

Two important things that make me nervous in pursuing this effort are:

1) once fully recompiled, will the library work in java as it did with
native/ocaml byte code?

I've already started modifying the popular OCamlMakefile project to add a
java-byte-code target, and I've found that a threaded example is admitted
by the compiler produces an uncaught exception when run on the JVM... That
example may fall out of what the ocamljava docs has been safely implemented
under ocamljava, I'm not sure...

2) I've noticed that the rather large library that I need to compile, as my
final target, and aside from the toy targets I'm testing ocamljava with,
actually consumes some other C libraries and functions in it's dependency
path...

This is difficult; the traditional OCamlMakefile builds traditional c stubs
to .o files, correctly compiled with ocamlc. But when put on the ocamljava
command line, but ocamljava doesn't know what to do about it. Would there
be any way that I can have support for this ocaml feature as well, or
facilitate some way to link in or enable ocaml code that calls into C being
compiled down to java?

3) What if the answer to 2) is no/no?

If I can't use ocamljava, which is the most desired and elegant way,
allowing beautiful language inter-operation, how can I *best* facilitate
calls to the ocaml library? Is there a fast way to generate callbacks to
ocaml in java or any other language? It's very highly preferable not to
have to delegate back through the JNI due to type safety and fragility.
Alternatively, I looked at the OCaml library Restful, and wondered to
myself if there could be any kind of fast definition between ocaml types
and an exchange language, like json or something. Ideally, I'd like to be
able to generate a url per function in a very very simple declarative
manner, so that I can take ocaml libraries, and make them operate as a
service, where ocaml library functions correspond to URLs.

[-- Attachment #2: Type: text/html, Size: 2702 bytes --]

             reply	other threads:[~2014-10-16  8:08 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-10-16  8:08 Kenneth Adam Miller [this message]
2014-10-17 21:33 ` Kenneth Adam Miller
2014-10-18  9:09   ` forum
2014-10-18 10:04     ` Kenneth Adam Miller
2014-10-18 23:36       ` Kenneth Adam Miller
2014-10-20  9:44       ` Jeremy Yallop

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=CAK7rcp-tsu08M3vOVEDhB5EnUBR29PTVdwmrgR-i3KTMe6jnJQ@mail.gmail.com \
    --to=kennethadammiller@gmail.com \
    --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).