From: Thomas Fischbacher <Thomas.Fischbacher@Physik.Uni-Muenchen.DE>
To: Stephane Glondu <Stephane.Glondu@crans.org>
Cc: caml-list@yquem.inria.fr
Subject: Re: [Caml-list] How to do this properly with OCaml?
Date: Sat, 23 Jul 2005 21:59:50 +0200 (CEST) [thread overview]
Message-ID: <Pine.LNX.4.61.0507232153290.3727@katrin.cip.physik.uni-muenchen.de> (raw)
In-Reply-To: <200507231250.45778.Stephane.Glondu@crans.org>
On Sat, 23 Jul 2005, Stephane Glondu wrote:
> > What if I have operations that add and remove elements on the heap in
> > random order (so that the heap sometimes has to shrink), and I want
> > (1) that every element which was removed from the heap and is otherwise
> > inaccessible can be reclaimed by GC,
>
> When you want to "remove" an element, you can put another (random) value
> from the same array at its place so that it can be garbage collected. If
> the remaining heap is empty (i.e. there is no other value to pick), you
> replace the Fill a with Empty n.
I think that this will not work.
If I duplicate entries to fill up holes, and later on remove a
legitimate entry whose duplicates fill holes from the heap, I have to
introduce extra bookkeeping so that the other placeholder copies of that
entry are replaced as well - otherwise it could not be reclaimed by GC.
> > and (2) that removing a single
> > element from the heap does not require copying the underlying Array?
>
> This is a matter of algorithmics, isn't it?
To some extent, it is a matter of the type system getting in the way of
algorithmics, I fear.
--
regards, tf@cip.physik.uni-muenchen.de (o_
Thomas Fischbacher - http://www.cip.physik.uni-muenchen.de/~tf //\
(lambda (n) ((lambda (p q r) (p p q r)) (lambda (g x y) V_/_
(if (= x 0) y (g g (- x 1) (* x y)))) n 1)) (Debian GNU)
next prev parent reply other threads:[~2005-07-23 19:59 UTC|newest]
Thread overview: 105+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-07-22 14:26 Thomas Fischbacher
2005-07-22 14:52 ` [Caml-list] " Eric Cooper
2005-07-22 15:26 ` [SPAM_PROBABLE] - [Caml-list] How to do this properly with OCaml? - Bayesian Filter detected spam Christophe Dehlinger
2005-07-22 18:58 ` [Caml-list] How to do this properly with OCaml? Stephane Glondu
2005-07-22 15:50 ` Berke Durak
2005-07-22 16:47 ` brogoff
2005-07-22 15:54 ` Michel Quercia
2005-07-23 5:00 ` Michael Alexander Hamburg
2005-07-23 12:34 ` Xavier Leroy
2005-07-23 13:16 ` Berke Durak
2005-07-23 16:36 ` Stephane Glondu
2005-07-23 18:27 ` Berke Durak
2005-07-23 18:50 ` Matthieu Sozeau
2005-07-24 8:35 ` Berke Durak
2005-07-23 19:18 ` Stephane Glondu
2005-07-23 19:35 ` Thomas Fischbacher
2005-07-23 19:50 ` Stephane Glondu
2005-07-23 19:59 ` Thomas Fischbacher [this message]
2005-07-23 20:15 ` Brian Hurt
2005-07-23 23:16 ` james woodyatt
2005-07-23 23:27 ` Stephane Glondu
2005-07-23 18:37 ` Michael Alexander Hamburg
2005-07-23 18:52 ` Bardur Arantsson
2005-07-23 21:35 ` [Caml-list] " Michael Alexander Hamburg
2005-07-23 19:19 ` [Caml-list] " Thomas Fischbacher
2005-07-24 7:27 ` [Caml-list] "Just say no!" campaign against Obj [was: How to do this properly with OCaml?] Alex Baretta
2005-07-24 8:02 ` [Caml-list] "Just say no!" campaign against Obj james woodyatt
2005-07-24 17:27 ` Stephane Glondu
2005-07-25 8:43 ` Alex Baretta
2005-07-24 21:37 ` [Caml-list] "Just say no!" campaign against Obj [was: How to do this properly with OCaml?] brogoff
2005-07-25 8:15 ` Alex Baretta
2005-07-25 17:08 ` brogoff
2005-07-25 8:57 ` Alex Baretta
2005-07-24 17:33 ` [Caml-list] How to do this properly with OCaml? skaller
2005-07-24 18:13 ` Stephane Glondu
2005-07-24 18:48 ` skaller
2005-07-24 19:14 ` Stephane Glondu
2005-07-24 20:29 ` skaller
2005-07-24 20:49 ` skaller
2005-07-24 21:08 ` Stephane Glondu
2005-07-24 21:55 ` skaller
2005-07-24 23:23 ` Stephane Glondu
2005-07-25 0:32 ` skaller
2005-07-25 6:45 ` Stephane Glondu
2005-07-25 11:35 ` skaller
2005-07-26 0:47 ` Brian Hurt
2005-07-26 0:56 ` Jere Sanisalo
2005-07-26 1:10 ` Brian Hurt
2005-07-26 1:34 ` Jere Sanisalo
2005-07-26 9:03 ` Richard Jones
2005-07-27 17:21 ` skaller
2005-07-27 19:44 ` [Caml-list] Games Jon Harrop
2005-07-27 20:35 ` Jere Sanisalo
2005-07-28 0:13 ` Jon Harrop
2005-07-28 1:12 ` Jere Sanisalo
2005-07-28 2:44 ` Jon Harrop
2005-07-28 4:49 ` skaller
2005-07-28 19:48 ` Jon Harrop
2005-07-28 21:32 ` David Thomas
2005-07-28 22:31 ` Jon Harrop
2005-07-29 1:44 ` Michael Walter
2005-07-29 2:32 ` David Thomas
2005-07-29 3:52 ` skaller
2005-07-29 12:57 ` David Thomas
2005-07-28 10:58 ` Gerd Stolpmann
2005-07-28 17:19 ` David Thomas
2005-07-28 19:22 ` Jon Harrop
2005-07-27 21:13 ` [Caml-list] How to do this properly with OCaml? Pal-Kristian Engstad
2005-07-27 22:28 ` skaller
2005-07-28 1:47 ` Michael Walter
2005-07-27 23:17 ` [Caml-list] Games Jon Harrop
2005-07-28 0:03 ` [Caml-list] How to do this properly with OCaml? Paul Snively
2005-07-28 18:26 ` Jonathan Bryant
2005-07-28 23:10 ` Paul Snively
2005-07-27 16:03 ` skaller
2005-07-26 1:01 ` Stephane Glondu
2005-07-26 1:15 ` Brian Hurt
2005-07-27 15:33 ` skaller
2005-07-30 23:24 ` Thomas Fischbacher
2005-07-31 0:06 ` Jon Harrop
2005-07-31 3:10 ` skaller
2005-07-31 2:54 ` skaller
2005-07-26 20:32 ` David Thomas
2005-07-27 15:05 ` skaller
2005-07-27 15:29 ` Jon Harrop
2005-07-27 15:35 ` David Thomas
2005-07-27 20:11 ` skaller
2005-07-28 16:35 ` David Thomas
2005-07-30 23:33 ` Thomas Fischbacher
2005-07-31 0:39 ` james woodyatt
2005-07-27 19:59 ` skaller
2005-07-26 1:22 ` Jon Harrop
2005-07-27 17:23 ` skaller
2005-07-26 1:05 ` Jon Harrop
2005-07-26 1:20 ` Brian Hurt
2005-07-26 1:28 ` Jon Harrop
2005-07-27 17:03 ` skaller
2005-07-27 16:09 ` skaller
2005-07-24 23:26 ` Brian Hurt
2005-07-25 17:21 ` Ken Rose
2005-07-25 19:19 ` skaller
2005-07-26 7:10 ` Alex Baretta
2005-07-23 18:58 ` Thomas Fischbacher
2005-07-26 1:32 Jon Harrop
[not found] <200507271635.28931.jon@ffconsultancy.com>
2005-07-27 16:31 ` David Thomas
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=Pine.LNX.4.61.0507232153290.3727@katrin.cip.physik.uni-muenchen.de \
--to=thomas.fischbacher@physik.uni-muenchen.de \
--cc=Stephane.Glondu@crans.org \
--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