Version française
Home     About     Download     Resources     Contact us    

This site is updated infrequently. For up-to-date information, please visit the new OCaml website at

Browse thread
[Caml-list] alloc_final and local value variables
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2003-07-02 (01:20)
From: Neil Conway <neilc@s...>
Subject: [Caml-list] alloc_final and local value variables
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,


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

To unsubscribe, mail Archives:
Bug reports: FAQ:
Beginner's list: