String.from_list

From: Francois-Rene Rideau (fare@tunes.org)
Date: Tue Jul 13 1999 - 16:16:42 MET DST


Date: Tue, 13 Jul 1999 16:16:42 +0200
From: Francois-Rene Rideau <fare@tunes.org>
To: caml-list@inria.fr
Subject: String.from_list

Chers camelots,

David Madore me suggère de vous envoyer les fonctions suivantes
pour inclusion dans string.ml, avec l'espoir qu'elles satisferont notamment
les habitués de Scheme (ou ceux qui traduisent des programmes écrit dans
ce langage) et qui cherchent de telles fonctions en standard.

let from_list l =
  let s = make (List.length l) '\042' in
  let rec f i l =
          match l with
            [] -> s
          | c::r -> unsafe_set s i c ; f (i+1) r
        in f 0 l ;;

let to_list s =
  let rec t i l =
     if i = 0 then l else
       let j = i-1 in f j ((unsafe_get s j)::l)
  in t (length s) [] ;;

Sinon, je n'ai jamais compris si les
[an error occurred while processing this directive]
présents un peu partout sur le site de CAML.inria.fr
étaient intentionnels ou involontaires.
Dans le premier un cas,
un <!--commentaire--> adéquat détromperait le lecteur avisé.
En tout cas, j'ai trouvé ça drôle,
et me suis permis de reprendre la blague à mon compte...

NB: je ne suis pas sur la liste.

Amicamlement,

[ "Faré" | VN: Уng-Vû Bân | Join the TUNES project! http://www.tunes.org/ ]
[ FR: François-René Rideau | TUNES is a Useful, Nevertheless Expedient System ]
[ Reflection&Cybernethics | Project for a Free Reflective Computing System ]
Keep things as simple as you can, but no simpler.
        -- Albert Einstein
s/things/explanation/ ; s/A.*Einstein/Occam/



This archive was generated by hypermail 2b29 : Sun Jan 02 2000 - 11:58:23 MET