mirror of
https://github.com/justinethier/cyclone.git
synced 2025-07-07 13:16:34 +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))
|
#f))
|
||||||
(expand
|
(expand
|
||||||
(lambda (macro-op)
|
(lambda (macro-op)
|
||||||
;(define use-env (env:extend-environment '() '() '()))
|
|
||||||
(if (Cyc-macro? macro-op)
|
(if (Cyc-macro? macro-op)
|
||||||
;; Compiled macro, call directly
|
;; Compiled macro, call directly
|
||||||
(let ((expanded
|
(let* ((expanded (_expand exp a-env rename-env '() local-renamed))
|
||||||
(macro:expand exp (list 'macro macro-op) a-env rename-env local-renamed)))
|
(cleaned (macro:cleanup expanded rename-env)))
|
||||||
(analyze expanded
|
(analyze cleaned
|
||||||
a-env
|
a-env
|
||||||
rename-env
|
rename-env
|
||||||
local-renamed))
|
local-renamed))
|
||||||
;; Interpreted macro, build expression and eval
|
;; 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
|
(analyze
|
||||||
expanded
|
cleaned
|
||||||
a-env
|
a-env
|
||||||
rename-env
|
rename-env
|
||||||
local-renamed))))))
|
local-renamed))))))
|
||||||
|
@ -917,6 +917,10 @@
|
||||||
;(newline)
|
;(newline)
|
||||||
;(display "*/ ")
|
;(display "*/ ")
|
||||||
(cond
|
(cond
|
||||||
|
((and (pair? expr) ;; Improper list
|
||||||
|
(not (list? expr)))
|
||||||
|
(cons (clean (car expr) bv)
|
||||||
|
(clean (cdr expr) bv)))
|
||||||
((const? expr) expr)
|
((const? expr) expr)
|
||||||
((null? expr) expr)
|
((null? expr) expr)
|
||||||
((quote? expr)
|
((quote? expr)
|
||||||
|
|
Loading…
Add table
Reference in a new issue