caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Warren Harris <warren@metaweb.com>
To: caml-list caml-list <caml-list@yquem.inria.fr>
Subject: understanding weak
Date: Thu, 30 Oct 2008 11:19:38 -0700	[thread overview]
Message-ID: <D89537A8-F30A-4E39-ACFF-F81D2223B574@metaweb.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 986 bytes --]

I'd like to understand better how ocaml's weak pointers operate.  
First, although it doesn't seem to be specified in the documentation,  
I assume that weak pointers will *not* be reclaimed (e.g. from a weak  
hash table) if the program retains some other reference to the object.  
I.e. the weak pointer must be the last remaining pointer to the object  
for reclamation to occur.

My second question relates specifically to my application. I would  
like to have a primary cache of objects, and a secondary index into  
sub-objects referenced from the primary cache. I.e. CacheA references  
objects of type A; objects of type A reference objects of type B;  
CacheB references objects of type B. I would like to guarantee that  
weak references in CacheB are not flushed unless the corresponding  
reference from CacheA is first flushed. I assume will be the case if a  
non-weak reference from A to B is maintained. Can anyone verify?

Thanks,

Warren Harris
Metaweb Technologies


[-- Attachment #2: smime.p7s --]
[-- Type: application/pkcs7-signature, Size: 3739 bytes --]

             reply	other threads:[~2008-10-30 18:20 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-10-30 18:19 Warren Harris [this message]
2008-10-31  2:14 ` [Caml-list] " Martin Jambon
2008-10-31  8:37   ` Daniel Bünzli
2008-10-31 14:57     ` Martin Jambon
2008-10-31 15:27       ` Daniel Bünzli
2008-10-31 16:52         ` Martin Jambon
2008-10-31 19:12       ` Aleksey Nogin
2008-10-31 20:10         ` Martin Jambon
2008-10-31 20:44         ` Martin Jambon
     [not found] <20081030182019.EEBC5BBB7@yquem.inria.fr>
2008-10-30 18:48 ` CUOQ Pascal
2008-10-30 19:35   ` [Caml-list] " Warren Harris
2008-10-30 23:06     ` Alain Frisch
2008-10-31  8:33       ` Rémi Vanicat

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=D89537A8-F30A-4E39-ACFF-F81D2223B574@metaweb.com \
    --to=warren@metaweb.com \
    --cc=caml-list@yquem.inria.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).