28 lines
621 B
Racket
28 lines
621 B
Racket
#lang racket/base
|
|
(require (for-syntax racket/base))
|
|
|
|
(define-syntax-rule (provide-except-unsafe lib u! id ...)
|
|
(begin
|
|
(require lib)
|
|
(provide (except-out (all-from-out lib) id ...))
|
|
(define-syntax (u! stx)
|
|
(syntax-case stx ()
|
|
[(_) (with-syntax ([lib+ids (datum->syntax stx '(lib id ...))])
|
|
#'(require (only-in . lib+ids)))]))))
|
|
|
|
(provide-except-unsafe
|
|
ffi/unsafe/objc objc-unsafe!
|
|
|
|
objc_msgSend/typed
|
|
objc_msgSendSuper/typed
|
|
import-class
|
|
import-protocol
|
|
get-ivar set-ivar!
|
|
selector
|
|
tell tellv
|
|
define-objc-class
|
|
define-objc-mixin
|
|
objc-is-a?)
|
|
|
|
(provide objc-unsafe!)
|