On this page:
unsafe!
provide*
define-unsafer

14 scheme/foreign

 (require scheme/foreign) package: scheme-lib
The scheme/foreign library re-exports ffi/unsafe, ffi/unsafe/cvector, and ffi/vector, except that unsafe! must be used to import the unsafe bindings of ffi/unsafe and ffi/unsafe/cvector.

syntax

(unsafe!)

Makes unsafe bindings available.

syntax

(provide* provide-star-spec ...)

 
provide-star-spec = (unsafe id)
  | (unsafe (rename-out [id external-id]))
  | provide-spec
Like provide, but ids under unsafe are not actually provided. Instead, they are collected for introduction into an importing module via a macro created by define-unsafer.

syntax

(define-unsafer id)

Cooperates with provide* to define id as a unsafe!-like form that introduces definitions for each binding provided as unsafe. The define-unsafer form must occur after all the provide* forms to which it refers.