caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Serge Aleynikov <serge@hq.idt.net>
To: Joel Reymont <joelr1@gmail.com>
Cc: Caml List <caml-list@inria.fr>
Subject: Re: [Caml-list] Wrapping OCaml function returning a variant
Date: Wed, 28 Mar 2007 08:53:30 -0500	[thread overview]
Message-ID: <460A735A.3040102@hq.idt.net> (raw)
In-Reply-To: <FC339616-EF29-488C-B031-5C634E6D8661@gmail.com>

Joel Reymont wrote:
> 
> On Mar 28, 2007, at 1:55 PM, Serge Aleynikov wrote:
> 
>> If you are using caml_copy_string() or caml_alloc_string() they 
>> allocate strings on OCaml's heap, and will be automatically garbage 
>> collected.
> 
> How do I pass a C string into OCaml if the assumption is that it will 
> not be modified? Do I still need to copy it with caml_copy_string?

If you need to be able to access your C string value from OCaml, 
caml_copy_string is what you need.  OTOH, if you want the string to be 
passed to OCaml as an opaque type (in which case OCaml won't be able to 
access its value directly, though the value will live on the C heap and 
can only be accessible from C) you can pass the string pointer using a 
Custom block (see section 18.9.2 
http://caml.inria.fr/pub/docs/manual-ocaml/manual032.html).

Regards,

Serge


      reply	other threads:[~2007-03-28 12:50 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-03-28 11:33 Joel Reymont
2007-03-28 11:47 ` [Caml-list] " Richard Jones
2007-03-28 12:25 ` micha
2007-03-28 12:51   ` Joel Reymont
2007-03-28 13:28     ` Richard Jones
2007-03-28 14:34     ` micha
2007-03-28 14:46       ` Joel Reymont
2007-03-28 14:56         ` micha
2007-03-28 14:57         ` Xavier Leroy
2007-03-28 15:07           ` Joel Reymont
2007-03-28 22:47             ` Joel Reymont
2007-03-28 12:55 ` Serge Aleynikov
2007-03-28 12:01   ` Joel Reymont
2007-03-28 13:40     ` Serge Aleynikov
2007-03-28 12:13   ` Joel Reymont
2007-03-28 13:53     ` Serge Aleynikov [this message]

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=460A735A.3040102@hq.idt.net \
    --to=serge@hq.idt.net \
    --cc=caml-list@inria.fr \
    --cc=joelr1@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;
as well as URLs for NNTP newsgroup(s).