module Programme=functor(E:Entree)->functor(T:Traitement)->functor(S:Sortie)-> struct let rec sous_prog list_rep nom_seq query f_descr f_sortie= try begin list_rep:=(T.traitement query (E.suivante f_descr) E.sub,nom_seq)::(!list_rep); sous_prog list_rep nom_seq query f_descr; (); end with End_of_file->print_newline(); ;; let prog f_entree f_sortie query= let list_rep=ref [] in let nom_seq=ref "" in E.entete nom_seq f_entree; sous_prog list_rep !nom_seq query f_entree f_sortie; S.affichage !list_rep f_sortie; ;; end;;