▼ |  | FFI: PLT Scheme Foreign Interface

1 | Overview
2 | Loading Foreign Libraries
3 | C Types
4 | Pointer Functions
5 | Miscellaneous Support
6 | Derived Utilities
7 | Unexported Primitive Functions
8 | Macros for Unsafety
| Index

On this page:

unsafe!
provide*
define-unsafer

top ← prev up next →

### 8`` Macros for Unsafety

( unsafe! )

Makes most of the bindings documented in this module available. See Overview for information on why this declaration is required.

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

Providing users with unsafe operations without using this facility should be considered a bug in your code.

( 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.
top ← prev up next →