[plt-dev] scheme/foreign => ffi/unsafe

From: Matthew Flatt (mflatt at cs.utah.edu)
Date: Mon Apr 26 20:06:40 EDT 2010

There is no `racket/foreign' library. The old `scheme/foreign' library
has been reorganized and extended as follows:

Reorganized:

 `ffi/unsafe' = most of `scheme/foreign' plus `(unsafe!)'
                (i.e., the "unsafe" is in the library name,
                so `unsafe!' isn't needed in client modules)

 `ffi/vector' = homogeneous-vector (a.k.a. SRFI-4) part of `scheme/foreign';
                not re-exported by `ffi/unsafe'
 `ffi/unsafe/cvector' = just the C vector part of `scheme/foreign';
                        not re-exported by `ffi/unsafe'
 `ffi/cvector' = same as `ffi/unsafe/cvector', but without the unsafe
                 `make-cvector*' operation

 `ffi/unsafe/objc' = Objective-C binding

New:

 `ffi/unsafe/define' = support for the kind of `define-...' macro
                       that we all write for FFI bindings
 `ffi/unsafe/alloc' = support for reliable deallocation
 `ffi/unsafe/atomic' = support for atomic sections



Posted on the dev mailing list.