(define-builtin in (key object)
`(bool (in (call |xstring| ,key) ,object)))
+(define-builtin delete-property (key object)
+ `(selfcall
+ (delete (property ,object (call |xstring| ,key)))))
+
(define-builtin map-for-in (function object)
`(selfcall
(var (f ,function)
,g!new-value)
`(gethash ,g!new-value ,g!key ,g!hash-table) ; accessing form
)))
+
+
+(defun remhash (key hash-table)
+ (let ((obj (caddr hash-table))
+ (hash (funcall (cadr hash-table) key)))
+ (prog1 (in hash obj)
+ (delete-property hash obj))))