1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-17 17:20:29 +02:00

Remove jscall type

This commit is contained in:
Ian Price 2015-06-06 10:26:51 +01:00
parent d57dc85fa8
commit b70b39e478
3 changed files with 4 additions and 13 deletions

View file

@ -58,7 +58,7 @@
(compile-term exp)) (compile-term exp))
(($ $cont k _) (($ $cont k _)
(make-local (list (compile-cont body)) (make-local (list (compile-cont body))
(make-jscall k req)))))) (make-continue k (map make-id req)))))))
(_ (_
`(clause:todo: ,clause)))) `(clause:todo: ,clause))))
@ -78,9 +78,9 @@
;; use the name part? ;; use the name part?
(make-var k (make-function syms (compile-term body)))) (make-var k (make-function syms (compile-term body))))
(($ $cont k ($ $kreceive ($ $arity (arg) _ (? symbol? rest) _ _) k2)) (($ $cont k ($ $kreceive ($ $arity (arg) _ (? symbol? rest) _ _) k2))
(make-var k (make-function (list arg rest) (make-jscall k2 (list arg rest))))) (make-var k (make-function (list arg rest) (make-continue k2 (list (make-id arg) (make-id rest))))))
(($ $cont k ($ $kreceive ($ $arity (arg) _ #f _ _) k2)) (($ $cont k ($ $kreceive ($ $arity (arg) _ #f _ _) k2))
(make-var k (make-function (list arg) (make-jscall k2 (list arg))))) (make-var k (make-function (list arg) (make-continue k2 (list (make-id arg))))))
(_ (_
`(cont:todo: ,cont)) `(cont:todo: ,cont))
)) ))
@ -94,9 +94,7 @@
(($ $call name args) (($ $call name args)
(make-call name (cons k args))) (make-call name (cons k args)))
(($ $callk label proc args) (($ $callk label proc args)
;; eh? (make-continue label (map make-id (cons* proc k args))))
;; (pk 'callk label proc args k)
(make-jscall label (cons* proc k args)))
(($ $values values) (($ $values values)
(make-continue k (map make-id values))) (make-continue k (map make-id values)))
(_ (_

View file

@ -10,7 +10,6 @@
make-const const make-const const
make-primcall primcall make-primcall primcall
make-call call make-call call
make-jscall jscall
make-closure closure make-closure closure
make-branch branch make-branch branch
; print-js ; print-js
@ -64,7 +63,6 @@
(define-js-type const value) (define-js-type const value)
(define-js-type primcall name args) (define-js-type primcall name args)
(define-js-type call name args) (define-js-type call name args)
(define-js-type jscall name args) ;; TODO: shouldn't need this hack
(define-js-type closure label num-free) (define-js-type closure label num-free)
(define-js-type branch test consequence alternate) (define-js-type branch test consequence alternate)
(define-js-type id name) (define-js-type id name)
@ -91,8 +89,6 @@
`(primcall ,name , args)) `(primcall ,name , args))
(($ call name args) (($ call name args)
`(call ,name , args)) `(call ,name , args))
(($ jscall name args)
`(jscall ,name , args))
(($ closure label nfree) (($ closure label nfree)
`(closure ,label ,nfree)) `(closure ,label ,nfree))
(($ return val) (($ return val)

View file

@ -64,9 +64,6 @@
(make-call (make-refine (name->id name) (make-const "fun")) (make-call (make-refine (name->id name) (make-const "fun"))
(map name->id (cons name args))))) (map name->id (cons name args)))))
(($ il:jscall name args)
(make-return (make-call (name->id name) (map name->id args))))
(($ il:closure label nfree) (($ il:closure label nfree)
(make-new (make-new
(make-call (make-refine *scheme* (make-const "Closure")) (make-call (make-refine *scheme* (make-const "Closure"))