Configwin
Cette bibliothèque offre des fonctions de convenance pour créer des boîtes de saisie dans les applications LablGtk2. Les boîtes peuvent être composées de plusieurs champs de différentes sortes (listes, chaines, textes, noms de fichiers, couleurs, fontes, booléens, ...) et il est possible de définir ses propres sortes de champs pour ajouter à ceux existants.
Documentation

La documentation générée par OCamldoc est accessible ici.

Exemple d'utilisation
L'exemple suivant crée une fenêtre avec différents champs de saisie de différentes sortes.
(* Compile with
  ocamlc -o example.x -I +lablgtk2 -I +cameleon2 lablgtk.cma \
    okey.cmo config_file.cmo configwin.cma <this_file>
*)

let _ = GMain.Main.init ()

open Configwin

let param1 = string ~help: "a string" "a string" "a value"
let param2 = bool ~help: "bool value" "a boolean" true
let param3 = filename ~help: "a file name" "a file name" "foo"
let param4 = strings
    ~help: "a list of strings"
    ~eq: (fun _ -> fun _ -> false)
    ~add: (fun () -> ["another string" ; "and another string"])
    "a string list"
    ["foo" ; "bar"]
let param5 = color ~help: "a color" "a color" "Red"
let param6 = font ~help: "a font" "a font" "7x13bold"
let param7 = date ~help: "a date" "a date" (1, 0, 2002)
let n = ref 0
let param8 = list
    ~help: "a list of int"
    ~add: (fun () -> incr n; [!n])
    ~titles: ["n" ; "n * n"]
    "an int list" (fun n -> [string_of_int n ; string_of_int (n*n)])
    [1 ; 2 ; 3]
let param9 = filenames ~help: "a list of filenames" "filenames" []

let structure = Section_list
  ("Section 1",
   [
    Section ("Section 1.1",
             [ param1 ; param2 ; param5 ; param6 ; param7 ; param9]);
    Section ("Section 1.2",
             [ param3 ; param4 ; param8])
   ]
  )

let _ = Configwin.edit "Titre" [structure]