haskell: Document current state of Haskell bindings.

This commit is contained in:
Richard W.M. Jones
2012-12-29 12:48:23 +00:00
parent 1881be1e56
commit 67d59d0153
2 changed files with 48 additions and 5 deletions

View File

@@ -31,8 +31,8 @@ open Structs
let rec generate_haskell_hs () =
generate_header HaskellStyle LGPLv2plus;
(* XXX We only know how to generate partial FFI for Haskell
* at the moment. Please help out!
(* See guestfs(3)/Haskell for limitations of the current Haskell
* bindings. Please help out! XXX
*)
let can_generate name style =
match name with

View File

@@ -910,9 +910,52 @@ available. See the C<gobject> directory in the source.
=item B<Haskell>
This is the only language binding that is working but incomplete.
Only calls which return simple integers have been bound in Haskell,
and we are looking for help to complete this binding.
This language binding is working but incomplete:
=over 4
=item *
Functions with optional arguments are not bound. Implementing
optional arguments in Haskell seems to be very complex.
=item *
Events are not bound.
=item *
Functions with the following return types are not bound:
=over 4
=item *
Any function returning a struct.
=item *
Any function returning a lists of structs.
=item *
A few functions that return fixed length buffers (specifically ones
declared C<RBufferOut> in the generator).
=item *
A tiny number of obscure functions that return constant strings
(specifically ones declared C<RConstOptString> in the generator).
=back
=item *
The functions L</guestfs_head> and L</guestfs_tail> are not
bound, because these names conflict with C<Prelude.head> and
C<Prelude.tail>.
=back
=item B<Java>