mirror of
https://github.com/justinethier/cyclone.git
synced 2025-07-07 05:06:36 +02:00
Merge branch '395-dev'
This commit is contained in:
commit
7f4f67f612
1 changed files with 10 additions and 6 deletions
|
@ -611,19 +611,19 @@
|
|||
#f))
|
||||
(expand
|
||||
(lambda (macro-op)
|
||||
;(define use-env (env:extend-environment '() '() '()))
|
||||
(if (Cyc-macro? macro-op)
|
||||
;; Compiled macro, call directly
|
||||
(let ((expanded
|
||||
(macro:expand exp (list 'macro macro-op) a-env rename-env local-renamed)))
|
||||
(analyze expanded
|
||||
(let* ((expanded (_expand exp a-env rename-env '() local-renamed))
|
||||
(cleaned (macro:cleanup expanded rename-env)))
|
||||
(analyze cleaned
|
||||
a-env
|
||||
rename-env
|
||||
local-renamed))
|
||||
;; Interpreted macro, build expression and eval
|
||||
(let* ((expanded (macro:expand exp (list 'macro macro-op) a-env rename-env local-renamed)))
|
||||
(let* ((expanded (_expand exp a-env rename-env '() local-renamed))
|
||||
(cleaned (macro:cleanup expanded rename-env)))
|
||||
(analyze
|
||||
expanded
|
||||
cleaned
|
||||
a-env
|
||||
rename-env
|
||||
local-renamed))))))
|
||||
|
@ -917,6 +917,10 @@
|
|||
;(newline)
|
||||
;(display "*/ ")
|
||||
(cond
|
||||
((and (pair? expr) ;; Improper list
|
||||
(not (list? expr)))
|
||||
(cons (clean (car expr) bv)
|
||||
(clean (cdr expr) bv)))
|
||||
((const? expr) expr)
|
||||
((null? expr) expr)
|
||||
((quote? expr)
|
||||
|
|
Loading…
Add table
Reference in a new issue