From: c-bauer-olsbruecken@t-online.de (Christoph Bauer)
To: Basile STARYNKEVITCH <basile@starynkevitch.net>
Cc: Lukasz Stafiniak <lukstafi@gmail.com>, Caml <caml-list@inria.fr>
Subject: Re: [Caml-list] OCaml and Boehm
Date: Mon, 13 Apr 2009 11:42:05 +0200 [thread overview]
Message-ID: <87bpr0khzm.fsf@christoph-bauer.net> (raw)
In-Reply-To: <49E0B15C.6080208@starynkevitch.net> (Basile STARYNKEVITCH's message of "Sat\, 11 Apr 2009 17\:03\:56 +0200")
Basile STARYNKEVITCH <basile@starynkevitch.net> writes:
> Lukasz Stafiniak wrote:
>>>
>> It is a large application. They debate whether to use Boehm or smart
>> pointers. They already have embedded Scheme (Guile) and are about to
>> embed Python. (Guile is said to be Boehm-compatible, in some sense,
>> from the next version.) It is possible that Boehm is a no-way for
>> them, I asked here to investigate this.
>>
>
> My advice is always to avoid mixing several garbage collection
> techniques or implementations inside the same program.
>
TCL uses refcounted Tcl_Objs. We use these Tcl_Objs in OCaml for a long
time. And it works excellent.
Here are the two most important wrapper functions:
static
void finalize_tclobj( value v ) {
Tcl_DecrRefCount( TclObj_val (v) );
}
static
value alloc_tcl_obj( Tcl_Obj * obj )
{
value v = caml_alloc_custom( &tcl_obj_ops, sizeof( Tcl_Obj * ), 0, 1 );
Tcl_IncrRefCount( obj );
TclObj_val( v ) = obj;
return v;
}
So I guess, it's easier to use smart pointers.
Christoph Bauer
next prev parent reply other threads:[~2009-04-13 9:44 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-04-10 20:13 Lukasz Stafiniak
2009-04-11 9:46 ` [Caml-list] " Basile STARYNKEVITCH
2009-04-11 10:42 ` Jon Harrop
[not found] ` <4a708d20904110511o7d390807r3d29400cf96d6f35@mail.gmail.com>
[not found] ` <49E09C2D.4080906@starynkevitch.net>
2009-04-11 14:11 ` Lukasz Stafiniak
2009-04-11 14:27 ` Jon Harrop
2009-04-11 14:40 ` Lukasz Stafiniak
2009-04-11 20:40 ` Jon Harrop
2009-04-11 15:03 ` Basile STARYNKEVITCH
2009-04-11 20:41 ` Jon Harrop
2009-04-13 9:42 ` Christoph Bauer [this message]
2009-04-13 13:15 ` Lukasz Stafiniak
2009-04-14 5:25 ` Goswin von Brederlow
2009-04-12 3:34 ` Goswin von Brederlow
2009-04-12 12:09 ` Lukasz Stafiniak
2009-04-13 17:36 ` Xavier Leroy
2009-04-11 19:17 Ed Keith
2009-04-11 20:36 ` Jon Harrop
2009-04-12 3:25 ` Goswin von Brederlow
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=87bpr0khzm.fsf@christoph-bauer.net \
--to=c-bauer-olsbruecken@t-online.de \
--cc=basile@starynkevitch.net \
--cc=caml-list@inria.fr \
--cc=lukstafi@gmail.com \
/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