mirror of
https://github.com/justinethier/cyclone.git
synced 2025-05-22 07:09:17 +02:00
Added procs to query opaques
This commit is contained in:
parent
71793eca9c
commit
f1a8456965
1 changed files with 12 additions and 0 deletions
|
@ -12,6 +12,9 @@
|
||||||
(scheme eval)
|
(scheme eval)
|
||||||
(scheme cyclone util))
|
(scheme cyclone util))
|
||||||
(export
|
(export
|
||||||
|
opaque?
|
||||||
|
opaque-null?
|
||||||
|
|
||||||
c-code
|
c-code
|
||||||
c-value
|
c-value
|
||||||
c-define
|
c-define
|
||||||
|
@ -19,6 +22,15 @@
|
||||||
scm->c
|
scm->c
|
||||||
c-define-type)
|
c-define-type)
|
||||||
(begin
|
(begin
|
||||||
|
(define-c opaque?
|
||||||
|
"(void *data, int argc, closure _, object k, object p)"
|
||||||
|
"return_closcall1(data, k, Cyc_is_opaque(p));")
|
||||||
|
|
||||||
|
(define-c opaque-null?
|
||||||
|
"(void *data, int argc, closure _, object k, object p)"
|
||||||
|
"Cyc_check_opaque(data, p);
|
||||||
|
return_closcall1(data, k, make_boolean(opaque_ptr(p) == NULL));")
|
||||||
|
|
||||||
;; (c-define-type name type (pack (unpack)))
|
;; (c-define-type name type (pack (unpack)))
|
||||||
(define-syntax c-define-type
|
(define-syntax c-define-type
|
||||||
(er-macro-transformer
|
(er-macro-transformer
|
||||||
|
|
Loading…
Add table
Reference in a new issue