No subject


Tue Dec 17 01:15:04 PST 2013


interfaces in declarative manner in QML and connect it with OCaml
using `mocml` code generator and `lablqml` ocamlfind package. Qt 5.2
is required for compilation

More information you can get at [1]. There is mine opam repo where
demo application is included. It is called QOCamlBrowser --
application similar to default ocamlbrowser.

All comments will be appreciated.

Kind regards,
Dmitrii Kosarev aka Kakadu

[1] <http://kakadu.github.io/lablqt>
=20=20=20=20=20=20
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
9) SDL2 bindings, testers and feedback welcome
Archive: <https://sympa.inria.fr/sympa/arc/caml-list/2013-12/msg00105.html>
------------------------------------------------------------------------
** Daniel B=C3=BCnzli announced:

I have written thin bindings to SDL 2 using ocaml-ctypes. The binding
is finished but should be considered unstable: it was not thoroughly
tested and may still change as it has not been *used* yet. The purpose
of this unstable release is to:

1) Iron out the install procedure and test on a variety of platforms.
2) Get feedback about the design of the binding (see below).=20

More precisely, apart from the eventual bugs, I'm interested in
getting feedback in the following areas:

* I used an 'a result =3D [ `Error | `Ok of 'a ] rather than an exception=20
for functions that return error codes/null is error. I tend to lean
on exceptionless designs but I'm still unsure whether it is a good
idea that case. One of the problems is that SDL doesn't make a clear
distinction (at the signature level *and* in the documentation)
between programming errors (invalid_arg), exceptional errors
(e.g. out of memory) and non-exceptional errors (e.g. could not
access/setup a resource).

* The signature/approach of certain binding functions may be disputable=20
or may need change to achieve reasonable performance.=20

* Testing the binding to the joystick/game controller/force feedback api,=20
I have none of these things in my hands.

I welcome discussions/ideas about these points and the general design
of the binding on github's issue tracker (<http://github.com/dbuenzli/tsdl>)

Note that the philosophy of the binding is to be "thin", that is a
mostly type-safe(r), minimal, hopefully efficient, one-to-one
binding. This means that I'm not interested in prettyfing the C API
like OCamlSDL does. I expect tsdl code to look like C SDL code
(including the inconsistent naming schemes) and the binding to be used
by programmers to build higher-level, more OCaml friendly, abstractions.

To install (only tested on osx and linux so far) you'll need at least SDL 2=
.0.1
installed on your system. Then:

opam repo add erratique-u <http://erratique.ch/software/opam/unreleased>
opam update && opam install tsdl=20

On osx 10.8.5 with OCaml 4.01.0 there's a heisenbug I couldn't track so far
(see [1] for more info). Use 4.00.1 instead for now but note that the bindi=
ng=20
takes a long time to compile (~8 min on my machine) with that.=20

If you want to hack the sources:

  git clone <http://github.com/dbuenzli/tsdl>=20
  cd tsdl && ./build test.native && ./test.native

The documentation of the binding is here:

  <http://erratique.ch/software/tsdl/doc/Tsdl>

Best,

Daniel

[1] <http://lists.ocaml.org/pipermail/ctypes/2013-December/000027.html>

P.S. If anyone wonders, the existing OCamlSDL is a very good binding
to SDL 1.X, but SDL 2.0 is an entirely new, incompatible, API. Besides
SDL 2.0 changed to a zlib license, tsdl is under BSD3, OCamlSDL is
LGPL.
=20=20=20=20=20=20
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
10) Other OCaml News
------------------------------------------------------------------------
** From the ocamlcore planet blog:

Thanks to Alp Mestan, we now include in the OCaml Weekly News the links to =
the
recent posts from the ocamlcore planet blog at <http://planet.ocaml.org/>.

Writing a Planner to solve a tricky programming optimization problem:
  <http://rwmj.wordpress.com/2013/12/14/writing-a-planner-to-solve-a-tricky=
-programming-optimization-problem/>

Farewell, Wojciech Meyer:
  <http://gallium.inria.fr/blog/wojciech-meyer>

OASIS v0.4.0 release:
  <https://forge.ocamlcore.org/forum/forum.php?forum_id=3D891>

Release of OASIS 0.4.0:
  <http://le-gall.net/sylvain+violaine/blog/index.php?post/2013/12/11/Relea=
se-of-OASIS-0.4.0>
=20=20=20=20=20=20
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
Old cwn
------------------------------------------------------------------------

If you happen to miss a CWN, you can send me a message
(alan.schmitt at polytechnique.org) and I'll mail it to you, or go take a look=
 at
the archive (<http://alan.petitepomme.net/cwn/>) or the RSS feed of the
archives (<http://alan.petitepomme.net/cwn/cwn.rss>). If you also wish
to receive it every week by mail, you may subscribe online at
<http://lists.idyll.org/listinfo/caml-news-weekly/> .

=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D



More information about the caml-news-weekly mailing list