unbind-func   macro


Defined in:  https://github.com/digego/extempore/tree/v0.8.9/runtime/llvmti.xtm

Implementation

(define-macro (unbind-func symname)
  `(begin
     (llvm:remove-globalvar ,(string-append (symbol->string symname) "_var"))
     (llvm:erase-function ,(symbol->string symname))
     (llvm:erase-function ,(string-append (symbol->string symname) "_setter"))
     (llvm:erase-function ,(string-append (symbol->string symname) "_getter"))
     (llvm:erase-function ,(string-append (symbol->string symname) "_maker"))
     (llvm:erase-function ,(string-append (symbol->string symname) "_callback"))
     (llvm:erase-function ,(string-append (symbol->string symname) "_native"))
     (llvm:erase-function ,(string-append (symbol->string symname) "_maker"))
     (llvm:remove-globalvar ,(string-append (symbol->string symname) "_var_zone"))
     (if (llvm:get-function ,(string-append (symbol->string symname) "_scheme"))
         (llvm:erase-function ,(string-append (symbol->string symname) "_scheme")))))


Back to Index