(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))