mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-24 12:20:20 +02:00
Merge remote-tracking branch 'origin/stable-2.0'
This was a pretty big merge involving a fair amount of porting, especially to peval and its tests. I did not update psyntax-pp.scm, that comes in the next commit. Conflicts: module/ice-9/boot-9.scm module/ice-9/psyntax-pp.scm module/language/ecmascript/compile-tree-il.scm module/language/tree-il.scm module/language/tree-il/analyze.scm module/language/tree-il/inline.scm test-suite/tests/tree-il.test
This commit is contained in:
commit
ca12824581
60 changed files with 3173 additions and 957 deletions
|
@ -25,20 +25,14 @@
|
|||
#:use-module (srfi srfi-1)
|
||||
#:export (compile-tree-il))
|
||||
|
||||
(define-syntax ->
|
||||
(syntax-rules ()
|
||||
((_ (type arg ...))
|
||||
`(type ,arg ...))))
|
||||
(define-syntax-rule (-> (type arg ...))
|
||||
`(type ,arg ...))
|
||||
|
||||
(define-syntax @implv
|
||||
(syntax-rules ()
|
||||
((_ sym)
|
||||
(-> (@ '(language ecmascript impl) 'sym)))))
|
||||
(define-syntax-rule (@implv sym)
|
||||
(-> (@ '(language ecmascript impl) 'sym)))
|
||||
|
||||
(define-syntax @impl
|
||||
(syntax-rules ()
|
||||
((_ sym arg ...)
|
||||
(-> (call (@implv sym) arg ...)))))
|
||||
(define-syntax-rule (@impl sym arg ...)
|
||||
(-> (call (@implv sym) arg ...)))
|
||||
|
||||
(define (empty-lexical-environment)
|
||||
'())
|
||||
|
@ -67,16 +61,14 @@
|
|||
;; for emacs:
|
||||
;; (put 'pmatch/source 'scheme-indent-function 1)
|
||||
|
||||
(define-syntax pmatch/source
|
||||
(syntax-rules ()
|
||||
((_ x clause ...)
|
||||
(let ((x x))
|
||||
(let ((res (pmatch x
|
||||
clause ...)))
|
||||
(let ((loc (location x)))
|
||||
(if loc
|
||||
(set-source-properties! res (location x))))
|
||||
res)))))
|
||||
(define-syntax-rule (pmatch/source x clause ...)
|
||||
(let ((x x))
|
||||
(let ((res (pmatch x
|
||||
clause ...)))
|
||||
(let ((loc (location x)))
|
||||
(if loc
|
||||
(set-source-properties! res (location x))))
|
||||
res)))
|
||||
|
||||
(define (comp x e)
|
||||
(let ((l (location x)))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue