register-lib-type   macro


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

Implementation

(define-macro (register-lib-type library name type docstring)
  (if (impc:aot:currently-compiling?) 
      (set! *impc:ti:suppress-ir-generation* #t)
      (set! *impc:ti:suppress-ir-generation* #f))
  (let* ((a (impc:ir:get-pretty-tuple-arg-strings (symbol->string type)))
         (namestr (symbol->string name))
         (typestr (symbol->string type)))
    `(begin 
       (impc:ti:register-new-namedtype ,namestr
                                      ',(impc:ir:get-type-from-pretty-str typestr namestr)
                                      ,docstring)
       (set! *impc:ti:suppress-ir-generation* #f))))


Back to Index