Merge remote-tracking branch 'origin/immut2-dev' into immut2-dev

This commit is contained in:
Justin Ethier 2019-05-17 12:33:23 -04:00
commit 75c88c1e06

View file

@ -9,8 +9,25 @@
;
;what role do atomics play? how does that affect GC?
(import
(scheme base)
)
(export
immutable?
)
(begin
(define (dummy) #f)
(define-c immutable?
"(void *data, int argc, closure _, object k, object obj)"
"object result = boolean_f;
if (is_object_type(obj) &&
(type_of(obj) == pair_tag ||
type_of(obj) == vector_tag ||
type_of(obj) == bytevector_tag ||
type_of(obj) == string_tag
) &&
immutable(obj) ) {
result = boolean_t;
}
return_closcall1(data, k, result); ")
)
(begin)
)