[m-users.] Mercury Memory Management

Zoltan Somogyi zoltan.somogyi at runbox.com
Fri Mar 14 15:40:23 AEDT 2014

On Thu, 13 Mar 2014 19:14:01 -0700, Haitao Zhang <zhtprog at gmail.com> wrote:
> If I use Mercury purely functionally/declaratively and store all states
> through the FFI so that when control returns from Mercury there is no need
> to preserve any Mercury data structures, could I disable GC and expect no
> memory leak?

No, you cannot expect that.

>  I read that one can compile with no GC and Mercury heap will
> be reclaimed on backtracking. Does that include returning from a
> det/semidet predicate?

No. Returning from a det predicate, and returning from a semidet
predicate with success, are not backtracking.

> There was a compile time GC branch with activity as recent as 2008, What
> happened to that branch? What about the region based memory management
> module?

Neither is ready for production use, and neither is actively maintained.
They were built by graduate students who have since finished their studies
and moved on to other things.


More information about the users mailing list