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
Version: 4.0.2

 

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.