From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from majordomo@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id XAA21454; Wed, 13 Oct 2004 23:19:42 +0200 (MET DST) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f 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 XAA21735 for ; Wed, 13 Oct 2004 23:19:41 +0200 (MET DST) Received: from mail5.speakeasy.net (mail5.speakeasy.net [216.254.0.205]) by nez-perce.inria.fr (8.13.0/8.13.0) with ESMTP id i9DLJc5n016136 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Wed, 13 Oct 2004 23:19:40 +0200 Received: (qmail 13941 invoked from network); 13 Oct 2004 21:19:37 -0000 Received: from shell2.speakeasy.net ([69.17.110.71]) (envelope-sender ) by mail5.speakeasy.net (qmail-ldap-1.03) with AES256-SHA encrypted SMTP for ; 13 Oct 2004 21:19:37 -0000 Date: Wed, 13 Oct 2004 14:19:37 -0700 (PDT) From: brogoff To: Caml List Subject: Re: [Caml-list] About Obj (was Recursive lists) In-Reply-To: <416D14C3.4030902@baretta.com> Message-ID: References: <41669437.3010201@yahoo.it> <4166A395.70301@yahoo.fr> <4166DC42.3090602@baretta.com> <16746.15832.409677.764564@gargle.gargle.HOWL> <416A8CDA.7060407@univ-savoie.fr> <00F89380-1BA2-11D9-B4CE-000A958FF2FE@wetware.com> <416D14C3.4030902@baretta.com> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Miltered: at nez-perce with ID 416D9BEA.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Loop: caml-list@inria.fr X-Spam: no; 0.00; brogoff:01 brogoff:01 caml-list:01 baretta:01 cyclic:01 abstraction:01 cyclic:01 dialect:01 abstraction:01 modeled:01 caml:01 caml:01 speakeasy:01 alex:01 logical:02 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk On Wed, 13 Oct 2004, Alex Baretta wrote: > The need for a List (or Cyclic_list) module encapsulating the > abstraction of a cyclic list emerges when we try to build an input > data-structure to feed our algorithm. The use of Obj within a specific > module is perfectly acceptable so long as it is needed to implement > functionality which cannot be achieved in the core language. The example > of the tail recursive implementation of List.map is pertinent, and shows > the point. I remembered shortly after I asked that Alice ML also provides a way to handle these tail recursive (modulo cons) functions by providing a library for Prologish logical variables called "promises" in that dialect. Neat idea, and useful for more than tail recursive lists, but I wonder how efficient the implementations are. > You might have noticed that Caml breeders use Obj fairly liberally when > it is needed to achieve a higher of abstraction which cannot be modeled > in the core language. Good point, but I hope every Caml fan accepts these uses as being neccesary compromises of the moment that can one day be eliminated by a stronger core language. -- Brian ------------------- To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/ Beginner's list: http://groups.yahoo.com/group/ocaml_beginners