caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* [Caml-list] Another q about many types
@ 2002-02-15  1:48 Ryan Tarpine
  2002-04-15  8:06 ` Christian Gillot
  0 siblings, 1 reply; 15+ messages in thread
From: Ryan Tarpine @ 2002-02-15  1:48 UTC (permalink / raw)
  To: caml-list

Many thanks for the advice on polymorphic variants; they seemed to be just 
what I needed.  But I've run into one small problem:  I can't define 
exceptions with arguments of polymorphic types.

In the language I'm trying to implement, to raise an exception, the user 
needs to create an instance of an exception class.  So, in my 
implementation, I wanted to define an exception whose sole argument would be 
an instance of a class.  But, I designed instances to be records containing 
a polymorphic variant, which makes the record type itself polymorphic.  Is 
there some way to raise exceptions with polymorphic arguments, or some other 
possible way of implementing this?

Thanks in advance,

Ryan Tarpine, rtarpine@hotmail.com
"To err is human, to compute divine.  Trust your computer but not its 
programmer."
  - Morris Kingston

_________________________________________________________________
Get your FREE download of MSN Explorer at http://explorer.msn.com/intl.asp.

-------------------
Bug reports: http://caml.inria.fr/bin/caml-bugs  FAQ: http://caml.inria.fr/FAQ/
To unsubscribe, mail caml-list-request@inria.fr  Archives: http://caml.inria.fr


^ permalink raw reply	[flat|nested] 15+ messages in thread
* Re:  [Caml-list] Weak hash table
@ 2002-03-06 12:50 Damien Doligez
  2002-03-06 13:40 ` Remi VANICAT
  0 siblings, 1 reply; 15+ messages in thread
From: Damien Doligez @ 2002-03-06 12:50 UTC (permalink / raw)
  To: raffalli; +Cc: caml-list

>From: Christophe Raffalli <raffalli@univ-savoie.fr>
>did anyone implemented weak hash table using weak pointers in OCaml ?

My implementation is in the stdlib Weak of the CVS version of OCaml.
It will be part of the next release, so I'm interested in bug reports
and feature requests.

-- Damien
-------------------
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


^ permalink raw reply	[flat|nested] 15+ messages in thread
* Re: [Caml-list] Weak hash table
@ 2002-03-14 14:09 Damien Doligez
  2002-03-15  1:49 ` Brian Rogoff
  0 siblings, 1 reply; 15+ messages in thread
From: Damien Doligez @ 2002-03-14 14:09 UTC (permalink / raw)
  To: caml-list, vanicat

>From: Remi VANICAT <vanicat@labri.u-bordeaux.fr>
>
>I've look at it, and it seem it's an implementation of a set, not of a
>map.

It's a hashed set and not a hashed map, because a hashed set is what I
needed to implement hash-consing for my toy BDD package.  A weak hashed
map is quite a bit harder to implement, and its usefulness is not
clear to me, so I just gave up on it for the moment.

-- Damien
-------------------
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


^ permalink raw reply	[flat|nested] 15+ messages in thread
* Re: [Caml-list] Weak hash table
@ 2002-03-14 14:16 Damien Doligez
  0 siblings, 0 replies; 15+ messages in thread
From: Damien Doligez @ 2002-03-14 14:16 UTC (permalink / raw)
  To: caml-list

>From: Christophe Raffalli <raffalli@univ-savoie.fr>
>
>The semantics of weak pointer are just some kind of cache where value
>can be erased at any time by the GC.

This is what the documentation specifies.


>The kind of weak array you need is array where value are erased by the
>GC if and only if the value is not pointed from outside the weak array.
>That is the mark phase of the GC does not traverse weak array.

This is what the implementation does (if you replace "if and only if"
with "at some time when" in the above).

The weak arrays are grossly underspecified because I don't know how to
clearly explain what they do to someone who doesn't already know what
a weak pointer is.  If someone wants to do write that explanation,
I'll be very happy.

-- Damien
-------------------
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


^ permalink raw reply	[flat|nested] 15+ messages in thread
* Re: [Caml-list] Weak hash table
@ 2002-03-22 14:15 Damien Doligez
  0 siblings, 0 replies; 15+ messages in thread
From: Damien Doligez @ 2002-03-22 14:15 UTC (permalink / raw)
  To: caml-list

>From: Brian Rogoff <bpr@bpr.best.vwh.net>

>Will we see your toy implementation in the OCaml distribution? I think
>such a thing, and/or a binding to one of the better C BDD libraries,
>would make a useful addition.

I will make it available somewhere (most likely on my web page or in
the bazaar), but it's not really suitable for inclusion in the OCaml
distribution (that's why I called it a "toy" implementation).

-- Damien
-------------------
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


^ permalink raw reply	[flat|nested] 15+ messages in thread
* [Caml-list] Weak Hash table
@ 2002-03-22 18:35 Remi VANICAT
  0 siblings, 0 replies; 15+ messages in thread
From: Remi VANICAT @ 2002-03-22 18:35 UTC (permalink / raw)
  To: caml-list

Hello,

I've just done a weak hash table that is a map (differently to the
weak hash table one can found in the ocaml cvs, which is a set). 

it can be found there :
http://aspellfr.free.fr/

There is some documentation and the semantic is as follow : find will
return you something for a key that has been previously add only if
both the key and the data are still alive. If either the key or the
data have been freed, then find won't find it.

The main problem is that multi add of binding from the same key will
hide the new binding or the old one, depending of garbage
collection...  

-- 
Rémi Vanicat
vanicat@labri.u-bordeaux.fr
http://dept-info.labri.u-bordeaux.fr/~vanicat
-------------------
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


^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2002-03-22 18:34 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-02-15  1:48 [Caml-list] Another q about many types Ryan Tarpine
2002-04-15  8:06 ` Christian Gillot
2002-03-05 16:28   ` [Caml-list] Weak hash table Christophe Raffalli
2002-03-05 21:40     ` Charles Martin
2002-03-05 22:24       ` Dave Mason
2002-03-06 10:09         ` Christophe Raffalli
2002-03-06 10:39         ` Christophe Raffalli
2002-03-06  8:33     ` Jean-Christophe Filliatre
2002-03-06 12:50 Damien Doligez
2002-03-06 13:40 ` Remi VANICAT
2002-03-14 14:09 Damien Doligez
2002-03-15  1:49 ` Brian Rogoff
2002-03-14 14:16 Damien Doligez
2002-03-22 14:15 Damien Doligez
2002-03-22 18:35 [Caml-list] Weak Hash table Remi VANICAT

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).