caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* [Caml-list] alloc_final and local value variables
@ 2003-07-02  1:20 Neil Conway
  2003-07-03 10:33 ` John Max Skaller
  0 siblings, 1 reply; 2+ messages in thread
From: Neil Conway @ 2003-07-02  1:20 UTC (permalink / raw)
  To: caml-list

In Chapter 12 of the O'Reilly book on Ocaml, section "Creating and modifying
Objective CAML values from C", this example code is given for wrapping a
heap-allocated chunk of memory in an Ocaml value:

value create (value s)
{
  value block ;
  block = alloc_final (2, finalize_it,Int_val(s)*sizeof(IntTab),100000) ;
  Field(block,1) = (value) alloc_it(Int_val(s)) ;
  return block ;
}

This code uses a "value" local, but doesn't declare it with one of the
CAMLlocalN variables, as the Ocaml Manual says is necessary (Ocaml Manual,
"Interfacing C with Objective Caml", Section 18.5.1, Rule 2). Is this code
above correct?

Thanks in advance,

Neil

P.S. I'm aware that custom blocks are now available, but alloc_final does
everything I need...

-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [Caml-list] alloc_final and local value variables
  2003-07-02  1:20 [Caml-list] alloc_final and local value variables Neil Conway
@ 2003-07-03 10:33 ` John Max Skaller
  0 siblings, 0 replies; 2+ messages in thread
From: John Max Skaller @ 2003-07-03 10:33 UTC (permalink / raw)
  To: Neil Conway; +Cc: caml-list

Neil Conway wrote:

> In Chapter 12 of the O'Reilly book on Ocaml, section "Creating and modifying
> Objective CAML values from C", this example code is given for wrapping a
> heap-allocated chunk of memory in an Ocaml value:
 
> This code uses a "value" local, but doesn't declare it with one of the
> CAMLlocalN variables, as the Ocaml Manual says is necessary (Ocaml Manual,
> "Interfacing C with Objective Caml", Section 18.5.1, Rule 2). Is this code
> above correct?

CAMLlocalN et al are for beginners.

They potentially waste time making things roots that don't
need to be. Best not to use them, just learn how the
collector works .. which you need to interface with it
anyhow :-)

-- 
John Max Skaller, mailto:skaller@ozemail.com.au
snail:10/1 Toxteth Rd, Glebe, NSW 2037, Australia.
voice:61-2-9660-0850


-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2003-07-03 10:35 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-07-02  1:20 [Caml-list] alloc_final and local value variables Neil Conway
2003-07-03 10:33 ` John Max Skaller

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).