Suite à la discussion sur Marschall et autre SExpLib, j'ai retenu JSON qui correspond le mieux à mon besoin :
-écrire dans un fichier des types un peu complexes
-types non circulaires
-données pas gigantesques, donc s'accomodant du format texte
-et surtout "human readable" et éditables
J'ai donc téléchargé json-wheel-1.0.4.tar.gz
1) ce qui fonctionne : 
j'ai testé avec succès dans le TopLevel l'exemple donné :
	
	1 2 3 4 5 6
   | (* Program that builds a JSON object and saves it into a file *)
open Json_type
 
let obj = Object [ "x", Int 1;
                   "y", Int 2 ]
let _ = Json_io.save_json "point.js" obj | 
 
J'ai fait 
	
	#use "...../json_type.ml"
 après avoir encapsulé le contenu du fichier .ml original dans un 
	
	module Json_type = struct .... end
 ça fonctionne bien...
2) ce qui coince :
la suite de l'exemple donné sur le site :
	
	1 2 3 4 5 6 7 8 9 10 11
   | (* Program that reads a JSON object from a file and converts it
   into a specialized type. 
   Uses file "point.js" created by the previous example. *)
open Json_type
open Json_type.Browse
 
let json_obj = Json_io.load_json "point.js"
let tbl = make_table (objekt json_obj)
let x = int (field tbl "x")
let y = int (field tbl "y")
let _ = Printf.printf "x = %i\ny = %i\n" x y  | 
 Je n'y arrive pas 
 : en effet, le  exige un Json_lexer que je n'ai pas, il est livré dans le .tar.gz en tant que "Json_lexer.mll", je ne connait pas ce type de fichier et je ne sais pas comment l'utiliser dans le TopLevel...
Quelqu'un peut m'aider ?
						
					
Partager