[m-dev.] Upgrading Boehm GC, attempt #2

Paul Bone paul at bone.id.au
Sat Mar 14 15:30:26 AEDT 2015

On Sat, Mar 14, 2015 at 03:14:58AM +0100, Nick Rudnick wrote:
> Hi Paul,
> with pleasure:
> Interesting to me: Some loose (so it's no big effort for you) collection of
> info about the Boehm GC you are using at Mercury – maybe just references to
> what you are using yourself.
> What it could be good for:
> You remember Aditi? Coupling Mercury with an existing database system at a
> closer level than e.g. the ODBC interface given at present might make sense
> due to the special relationship between RDBMS and Mercury, too.
> I experienced the PostgreSQL code base to be quite extensible and flexible
> – so I asked myself in how far it might be possible to adapt PostgreSQL so
> far it can more natively interface Mercury.
> I expect Mercury to be the code base more fragile to manipulations of both,
> so PostgreSQL might be the part to rather be adapted – in that sense, it
> could be interesting what would be gained with a PostgreSQL version running
> with a Boehm GC, etc.
> Of course, there appear several challenges on the way, e.g.
> * operational semantics need to find synchronization in a way
> * matching datatypes might have to be found
> * establishing Hindley-Milner in PostgreSQL, though principally supported,
> might not be trivial
> * identifying pure behaviour also might require some work
> Still it might be possible – maybe even to the gain of PostgreSQL itself,
> e.g. improved parallelism, a more versatile type system, Datalog, or the
> like.
> But I believe anybody having such thoughts in the first place would like to
> know more about Boehm GC and related issues – so any information material
> already present (so there is no extra effort needed) appears highly welcome.

I think that before deciding how to integrate Mercury and (for example)
Postgresql, you would first need to decide what the end goal is.  Without a
clear goal you cannot choose the best solution.

For most purposes a Mercury binding to the postgresql client library would
be all that is needed and the easiest solution.  However if you want to
write Postgresql procedures in Mercury then tighter integration needs to be
done.  However unless there is a specific problem to be solved (specific
goals) then it's not useful to talk about solutions such as integrating
Mercury with Postgresql.


Paul Bone

More information about the developers mailing list