English version
Accueil     À propos     Téléchargement     Ressources     Contactez-nous    

Ce site est rarement mis à jour. Pour les informations les plus récentes, rendez-vous sur le nouveau site OCaml à l'adresse ocaml.org.

Browse thread
How important are circular lists/recursive objects?
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2007-04-04 (08:46)
From: Don Syme <Don.Syme@m...>
Subject: RE: [Caml-list] Re: How important are circular lists/recursive objects?

Hi Stefan,

You might like to read my paper "Initializing Mutually Referential Abstract Objects", http://dx.doi.org/10.1016/j.entcs.2005.11.038, where I argue that this is a serious limitation, and argue the case for an alternative.  Interestingly Scala is considering using the kind of recursive initialization I propose in the paper, though much more extensively than I originally proposed.

Cheers & best wishes,

-----Original Message-----
From: caml-list-bounces@yquem.inria.fr [mailto:caml-list-bounces@yquem.inria.fr] On Behalf Of Stefan Monnier
Sent: 04 April 2007 05:53
To: caml-list@inria.fr
Subject: [Caml-list] Re: How important are circular lists/recursive objects?

> The question is: if this behavior was completely outlawed, and either you
> couldn't build up circular lists/recursive data structures of this type at
> all, or had to call special functions (List.circularize, say), to create
> them, would this be a signifigant problem?  Does anyone actually use this
> construct, and if so, for what?

This is the case in SML: you need to go through a `ref' cell in order to
create a cycle.  This has very rarely been presented as
a serious limitation.  OCaml's trick is occasionally useful, but I don't
think anybody would lose her sleep over it.


Caml-list mailing list. Subscription management:
Archives: http://caml.inria.fr
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs