From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from weis@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id RAA29268 for caml-red; Mon, 16 Oct 2000 17:00:33 +0200 (MET DST) Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id OAA26410 for ; Mon, 16 Oct 2000 14:23:06 +0200 (MET DST) Received: from suburbia.net (suburbia.net [203.4.184.1]) by nez-perce.inria.fr (8.10.0/8.10.0) with ESMTP id e9GCN0T01310 for ; Mon, 16 Oct 2000 14:23:02 +0200 (MET DST) Received: by suburbia.net (Postfix, from userid 110) id D008F6C4DF; Mon, 16 Oct 2000 23:22:47 +1100 (EST) Subject: Re: list composition functions In-Reply-To: "from Alain Frisch at Oct 16, 2000 09:58:00 am" To: Alain Frisch Date: Mon, 16 Oct 2000 23:22:47 +1100 (EST) Cc: Julian Assange , caml-list@inria.fr X-Mailer: ELM [version 2.4ME+ PL78 (25)] MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII Message-Id: <20001016122247.D008F6C4DF@suburbia.net> From: proff@suburbia.net (Julian Assange) Sender: weis@pauillac.inria.fr > On 16 Oct 2000, Julian Assange wrote: > > You could try something like: > > let build_transformer f x = > List.concat (List.map f x) > > let (>>) t1 t2 x = > t1 (t2 x) The problem with this is that it builds an intermediary list at each stage, before handing it to the next. The function that I used does not. Cheers, Julian.