impc:ir:compile:make-static   scheme


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

Implementation

(define impc:ir:compile:make-static
  (lambda (ast types)
    ;;(println 'ast: ast)
    (let* ((os (make-string 0))
           (name (list-ref ast 2))
           (allocate-mem? (list-ref ast 1))
           (rettype (list-ref ast 3))
           (result '())
           (fulltype (cdr (assoc-strcmp (string->symbol name) types)))
           (env (list-ref ast 4))
           (args (list-ref ast 5))
           (mynewtype (string-append (impc:ir:get-type-str rettype) " (" (string-join (map (lambda (x) (impc:ir:get-type-str (cdr x))) args) ", ") ")*"))
           (code (list-ref ast 6)))
      ; (println 'making-static--------------------------------------> )
      ; (println 'name: name)
      ; (println 'allocate: allocate-mem?)
      ; (println 'fulltype: fulltype)
      ; (println 'rettype: rettype)
      ; (println 'env: env)
      ; (println 'args: args)
      ; (println 'code: code)
      ; (println 'mynewtype: mynewtype)
      ; (println 'newtype2 (impc:ir:pretty-print-type mynewtype))


Back to Index