This commit is contained in:
Justin Ethier 2016-01-08 23:07:23 -05:00
parent 1b1320ebf0
commit 3a98b3b8d8

View file

@ -1002,16 +1002,21 @@
,(caddr exp) ;; Args ,(caddr exp) ;; Args
,(cadddr exp) ;; Body ,(cadddr exp) ;; Body
)) ))
(lid (allocate-lambda lambda-data)) (lid 999) ;; TODO: (allocate-lambda lambda-data))
) )
(add-global (add-global
(define->var exp) (define->var exp)
#t ;(lambda? body) #t ;(lambda? body)
(c-code (cadddr exp)) (let ((cv-name (mangle (gensym 'c))))
;(c-compile-exp (c-code/vars
; body append-preamble cont (string-append "&" cv-name)
; (st:add-function! trace var)) (list
(string-append "mclosure0(" cv-name ", (function_type)__lambda"
(number->string lid) ");" cv-name ".num_args = "
(number->string 2) ;; TODO: figure out number of args
";")))
) )
)
(c-code/vars "" (list "")))) (c-code/vars "" (list ""))))
;; Symbol compilation ;; Symbol compilation
@ -1342,7 +1347,8 @@
(caddr l) (caddr l)
" {" " {"
(cadddr l) (cadddr l)
" }")) " }"
))
(else (else
(emit ((caadr l) (string-append "__lambda_" (number->string (car l)))))))) (emit ((caadr l) (string-append "__lambda_" (number->string (car l))))))))
lambdas) lambdas)