On 12/11/07, Andrew Ross <[EMAIL PROTECTED]> wrote:
>
> Dear Hezekiah,
>
> It is great that you are working on plplot. We always welcome new
> bindings.
>
> I must admit that I am have minimal experience with OCaml, but I thought
> I would try it out. It built fine, but I'm unsure how to run the
> example. Perhaps you could include some details?
>
> At some stage it would be good to integrate OCaml bindings into the
> main plplot source. It sounds as if it would be good for you to discuss
> with the author of the previous swig-based bindings which approach is
> better and to combine efforts to work on the better approach.
>
> In general our approach has been to develop bindings which can be
> generated automatically wherever possible. This minimises the work for
> the core developers whenever adding new functionality and generally
> provides a more robust and consistent approach. We already use swig for
> the java and python bindings so there is some appeal in using this for
> OCaml too. What are the advantages of camlidl over swig in this respect?
>
> To be integrated within plplot the bindings will have to be built using
> CMake. If you have a working make file though the core developers are
> likely to be able to help you with this, so don't let this put you off.
>
> Do keep working on this.
>
> Regards
>
> Andrew
>

Andrew,

Thank you for the positive feedback.  I am quite happy to hear that it
actually builds for someone else!

For the included example, the following should work to compile it to a
bytecode executable:

$ ocamlfind ocamlc -package plplot -linkpkg -o x11 x11.ml

That is assuming you have compiled and installed the plplot bindings
using make libinstall.  If not,

$ ocamlc -I ../  plplot.cma -o x11 x11.ml

should work once the library is built, if you run that from the
examples/ directory.

I do intend to get in touch with the author of the SWIG-based
bindings, but he has indicated previously on the OCaml mailing list
that he will not have time to maintain them.

My main reasons for using camlidl over SWIG are:
a) I have also used SWIG to create HDF4 library bindings for OCaml, so
I have some experience with it
b) The process is relatively easy - I take a slightly modified
plplot.h file, and preprocess it with a script I wrote.  The output
feeds in to camlidl which generates the binding code.  This is quite
similar, as I understand it, to how a SWIG binding would work.
However...
c) camlidl seems to produce much more lightweight bindings than SWIG.
Looking through the existing SWIG-based OCaml bindings there are a
large number of extra type wrappers which are not needed when using
camlidl.  There may be ways around this in SWIG which I do not know
about.

With that said, I am quite open to suggestions.  The binding code I
announced was the result of ~3 evenings of work, so it was not a huge
effort thanks to (relative) ease of using OCaml's C interface.  I
would be happy to bring this in to the main plplot source tree and
maintain it.  I still have several things which need to be documented,
such as callbacks - which are available for (I think) most of the
functions which use them, but they are setup differently.

Should the rest of this discussion continue on plplot-devel?

Thank you again for the feedback.

-- 
Hezekiah M. Carty
Graduate Research Assistant
University of Maryland
Department of Atmospheric and Oceanic Science

-------------------------------------------------------------------------
SF.Net email is sponsored by:
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services
for just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
_______________________________________________
Plplot-general mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/plplot-general

Reply via email to