Experimental OCaml bindings for Wlc
  • OCaml 99.7%
  • Makefile 0.3%
Find a file
2015-04-06 19:28:35 +02:00
doc Custom ocamldoc css 2015-04-06 19:28:35 +02:00
example .merlin file for the example 2015-04-06 19:17:44 +02:00
src Move all geometry related fonctions to a module+submodules 2015-04-06 19:05:02 +02:00
.merlin First attempt at binding wlc 2015-02-06 01:07:33 +01:00
_oasis Custom ocamldoc css 2015-04-06 19:28:35 +02:00
_tags First attempt at binding wlc 2015-02-06 01:07:33 +01:00
configure First attempt at binding wlc 2015-02-06 01:07:33 +01:00
Makefile Extra rule for uploading api docs 2015-04-06 17:37:04 +02:00
myocamlbuild.ml First attempt at binding wlc 2015-02-06 01:07:33 +01:00
opam Lots of cleanup and additionnal documentation; also added an opam file. 2015-04-06 14:04:31 +02:00
README.md Add a link to the online API docs. 2015-04-06 17:42:38 +02:00
setup.ml Custom ocamldoc css 2015-04-06 19:28:35 +02:00
wlc_api.odocl First attempt at binding wlc 2015-02-06 01:07:33 +01:00
WLC_REV Update to match Wlc HEAD e51f9ced4ab98b8f8c41c8fde25622e0b9f95fbe 2015-04-06 16:02:50 +02:00

OCaml-Wlc

Experimental OCaml binding for Wlc (http://github.com/Cloudef/wlc).

Documentation of ocaml-wlc can be found here.

How to build

After installing Wlc, run:

opam pin add wlc https://github.com/Armael/ocaml-wlc.git

Example

See example/example.ml.

Is it up-to-date?

The hash of the Wlc commit corresponding to the current state of the binding can be found in the file WLC_REV.

If it's not the latest commit:

  • If Wlc's API (include/wlc/*.h) has not changed in between, then it's probably fine;
  • If it changed, please ping me via github so I update the bindings :-).

Implementation details

  • *_user_data functions are not bound. It could be done, but there is no need to bloat the binding since we can have hashtables {view/output/...} -> anything in OCaml.

  • some zeroed handles may not be handled (i.e. OCaml functions taking or returning a t instead of a option t) probably causing an error in the zero case. Report it if it happens

  • I tried to order the various functions in submodules, causing some renamings for module dependencies reasons. Names of functions and variants is not written in stone and can be discussed.