[Haskell-cafe] HANSEI in Haskell?
Chung-chieh Shan
ccshan at cs.rutgers.edu
Thu Feb 24 19:57:23 CET 2011
Arnaud Clère <arnaud.clere at free.fr> wrote in article <ik64e9$j6a$1 at dough.gmane.org> in gmane.comp.lang.haskell.cafe:
> On 24/02/2011 09:30, oleg at okmij.org wrote:
> > The sort of laziness needed for non-deterministic programming calls
> > for first-class store. It can be emulated, albeit *imperfectly*,
> > for example, as was described in the ICFP09 paper.
> What do you mean by "imperfectly"?
I think Oleg meant that, because the garbage collector only understands
the native store and not our emulation of first-class stores, cells of
a first-class store that are no longer referenced will nevertheless not
be garbage-collected until the store itself is garbage-collected. What
we need is a way to tell the garbage collector that the store reference
and the cell reference are both needed to access the data so the data
can be garbage-collected as soon as *either* the store reference *or
the cell reference* is. (Analogy from the capabilities literature:
the key and the lock are both needed to open the door so the door can
be garbage-collected as soon as either the key or the lock is.) Any
thoughts on how to achieve that?
> Do you think implementing 'probM' with 'share' would lead to the same
> performance problems you experienced in probM.hs?
No, implementing probM with share would be like what OCaml HANSEI
currently does, except in monadic notation rather than direct style.
--
Edit this signature at http://www.digitas.harvard.edu/cgi-bin/ken/sig
1st graffitiist: QUESTION AUTHORITY!
2nd graffitiist: Why?
More information about the Haskell-Cafe
mailing list