1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-15 18:20:42 +02:00

use #:keywords in module/*.scm, not :keywords

* module/system/base/syntax.scm (keywords): Don't enable :keywords, it
  breaks code that may assume that ':foo is a symbol, like boot-9.

* module/*.scm: Don't use :keywords, use #:keywords. The user can decide
  if she wants #:keywords in their .guile, and :keywords might make us
  compile modules differently.
This commit is contained in:
Andy Wingo 2008-09-09 06:56:06 +02:00
parent 13906f976e
commit 1a1a10d3a5
29 changed files with 191 additions and 193 deletions

View file

@ -2752,6 +2752,11 @@ module '(ice-9 q) '(make-q q-length))}."
;; Return a list of expressions that evaluate to the appropriate ;; Return a list of expressions that evaluate to the appropriate
;; arguments for resolve-interface according to SPEC. ;; arguments for resolve-interface according to SPEC.
(eval-case
((compile-toplevel)
(if (memq 'prefix (read-options))
(error "boot-9 must be compiled with #:kw, not :kw"))))
(define (compile-interface-spec spec) (define (compile-interface-spec spec)
(define (make-keyarg sym key quote?) (define (make-keyarg sym key quote?)
(cond ((or (memq sym spec) (cond ((or (memq sym spec)

View file

@ -20,8 +20,8 @@
;;; Code: ;;; Code:
(define-module (lang elisp spec) (define-module (lang elisp spec)
:use-module (system lang language) #:use-module (system lang language)
:export (elisp)) #:export (elisp))
;;; ;;;

View file

@ -20,13 +20,13 @@
;;; Code: ;;; Code:
(define-module (language ghil spec) (define-module (language ghil spec)
:use-module (system base language) #:use-module (system base language)
:export (ghil)) #:export (ghil))
(define-language ghil (define-language ghil
:title "Guile High Intermediate Language (GHIL)" #:title "Guile High Intermediate Language (GHIL)"
:version "0.3" #:version "0.3"
:reader read #:reader read
:printer write #:printer write
;; :environment (make-vmodule) ;; #:environment (make-vmodule)
) )

View file

@ -20,7 +20,7 @@
;;; Code: ;;; Code:
(define-module (language r5rs expand) (define-module (language r5rs expand)
:export (expand void #:export (expand void
identifier? free-identifier=? bound-identifier=? identifier? free-identifier=? bound-identifier=?
generate-temporaries datum->syntax-object syntax-object->datum)) generate-temporaries datum->syntax-object syntax-object->datum))

View file

@ -20,10 +20,10 @@
;;; Code: ;;; Code:
(define-module (language r5rs spec) (define-module (language r5rs spec)
:use-module (system base language) #:use-module (system base language)
:use-module (language r5rs expand) #:use-module (language r5rs expand)
:use-module (language r5rs translate) #:use-module (language r5rs translate)
:export (r5rs)) #:export (r5rs))
;;; ;;;
@ -54,11 +54,11 @@
;;; ;;;
(define-language r5rs (define-language r5rs
:title "Standard Scheme (R5RS + syntax-case)" #:title "Standard Scheme (R5RS + syntax-case)"
:version "0.3" #:version "0.3"
:reader read #:reader read
:expander expand #:expander expand
:translator translate #:translator translate
:printer write #:printer write
;; :environment (global-ref 'Language::R5RS::core) ;; #:environment (global-ref 'Language::R5RS::core)
) )

View file

@ -20,9 +20,9 @@
;;; Code: ;;; Code:
(define-module (language scheme spec) (define-module (language scheme spec)
:use-module (language scheme translate) #:use-module (language scheme translate)
:use-module (system base language) #:use-module (system base language)
:export (scheme)) #:export (scheme))
;;; ;;;
;;; Reader ;;; Reader
@ -41,10 +41,10 @@
;;; ;;;
(define-language scheme (define-language scheme
:title "Guile Scheme" #:title "Guile Scheme"
:version "0.5" #:version "0.5"
:reader read #:reader read
:read-file read-file #:read-file read-file
:translator translate #:translator translate
:printer write #:printer write
) )

View file

@ -20,14 +20,14 @@
;;; Code: ;;; Code:
(define-module (language scheme translate) (define-module (language scheme translate)
:use-module (system base pmatch) #:use-module (system base pmatch)
:use-module (system base language) #:use-module (system base language)
:use-module (system il ghil) #:use-module (system il ghil)
:use-module (system il inline) #:use-module (system il inline)
:use-module (ice-9 receive) #:use-module (ice-9 receive)
:use-module (srfi srfi-39) #:use-module (srfi srfi-39)
:use-module ((system base compile) :select (syntax-error)) #:use-module ((system base compile) #:select (syntax-error))
:export (translate)) #:export (translate))
(define (translate x e) (define (translate x e)

View file

@ -20,15 +20,15 @@
;;; Code: ;;; Code:
(define-module (system base compile) (define-module (system base compile)
:use-syntax (system base syntax) #:use-syntax (system base syntax)
:use-module (system base language) #:use-module (system base language)
:use-module (system il compile) #:use-module (system il compile)
:use-module (system il glil) #:use-module (system il glil)
:use-module (system vm objcode) #:use-module (system vm objcode)
:use-module (system vm vm) ;; for compile-time evaluation #:use-module (system vm vm) ;; for compile-time evaluation
:use-module (system vm assemble) #:use-module (system vm assemble)
:use-module (ice-9 regex) #:use-module (ice-9 regex)
:export (syntax-error compile-file load-source-file load-file #:export (syntax-error compile-file load-source-file load-file
compiled-file-name compiled-file-name
scheme-eval read-file-in compile-in scheme-eval read-file-in compile-in
load/compile)) load/compile))
@ -82,7 +82,7 @@
(let* ((source (read-file-in file scheme)) (let* ((source (read-file-in file scheme))
(objcode (apply compile-in source (current-module) (objcode (apply compile-in source (current-module)
scheme opts))) scheme opts)))
(if (memq :c opts) (if (memq #:c opts)
(pprint-glil objcode port) (pprint-glil objcode port)
(uniform-vector-write (objcode->u8vector objcode) port))))) (uniform-vector-write (objcode->u8vector objcode) port)))))
(format #t "wrote `~A'\n" comp)))) (format #t "wrote `~A'\n" comp))))
@ -136,13 +136,13 @@
(lambda () (lambda ()
;; expand ;; expand
(set! x ((language-expander lang) x e)) (set! x ((language-expander lang) x e))
(if (memq :e opts) (throw 'result x)) (if (memq #:e opts) (throw 'result x))
;; translate ;; translate
(set! x ((language-translator lang) x e)) (set! x ((language-translator lang) x e))
(if (memq :t opts) (throw 'result x)) (if (memq #:t opts) (throw 'result x))
;; compile ;; compile
(set! x (apply compile x e opts)) (set! x (apply compile x e opts))
(if (memq :c opts) (throw 'result x)) (if (memq #:c opts) (throw 'result x))
;; assemble ;; assemble
(apply assemble x e opts)) (apply assemble x e opts))
(lambda (key val) val))))) (lambda (key val) val)))))

View file

@ -20,8 +20,8 @@
;;; Code: ;;; Code:
(define-module (system base language) (define-module (system base language)
:use-syntax (system base syntax) #:use-syntax (system base syntax)
:export (define-language lookup-language make-language #:export (define-language lookup-language make-language
language-name language-title language-version language-reader language-name language-title language-version language-reader
language-printer language-read-file language-expander language-printer language-read-file language-expander
language-translator language-evaluator language-environment)) language-translator language-evaluator language-environment))
@ -39,7 +39,7 @@
)) ))
(define-macro (define-language name . spec) (define-macro (define-language name . spec)
`(define ,name (make-language :name ',name ,@spec))) `(define ,name (make-language #:name ',name ,@spec)))
(define (lookup-language name) (define (lookup-language name)
(let ((m (resolve-module `(language ,name spec)))) (let ((m (resolve-module `(language ,name spec))))

View file

@ -20,17 +20,10 @@
;;; Code: ;;; Code:
(define-module (system base syntax) (define-module (system base syntax)
:export (%compute-initargs) #:export (%compute-initargs)
:export-syntax (define-type define-record record-case)) #:export-syntax (define-type define-record record-case))
(export-syntax |) ;; emacs doesn't like the | (export-syntax |) ;; emacs doesn't like the |
;;;
;;; Keywords by `:KEYWORD
;;;
(read-set! keywords 'prefix)
;;; ;;;
;;; Type ;;; Type

View file

@ -20,14 +20,14 @@
;;; Code: ;;; Code:
(define-module (system il compile) (define-module (system il compile)
:use-syntax (system base syntax) #:use-syntax (system base syntax)
:use-module (system il glil) #:use-module (system il glil)
:use-module (system il ghil) #:use-module (system il ghil)
:use-module (ice-9 common-list) #:use-module (ice-9 common-list)
:export (compile)) #:export (compile))
(define (compile x e . opts) (define (compile x e . opts)
(if (memq :O opts) (set! x (optimize x))) (if (memq #:O opts) (set! x (optimize x)))
(codegen x)) (codegen x))
@ -330,10 +330,10 @@
;; compile body ;; compile body
(comp body #t #f) (comp body #t #f)
;; create GLIL ;; create GLIL
(let ((vars (make-glil-vars :nargs (length vars) (let ((vars (make-glil-vars #:nargs (length vars)
:nrest (if rest 1 0) #:nrest (if rest 1 0)
:nlocs (length locs) #:nlocs (length locs)
:nexts (length exts)))) #:nexts (length exts))))
(make-glil-asm vars meta (reverse! stack)))))))) (make-glil-asm vars meta (reverse! stack))))))))
(define (finalize-index! list) (define (finalize-index! list)

View file

@ -20,9 +20,9 @@
;;; Code: ;;; Code:
(define-module (system il ghil) (define-module (system il ghil)
:use-syntax (system base syntax) #:use-syntax (system base syntax)
:use-module (ice-9 regex) #:use-module (ice-9 regex)
:export #:export
(<ghil-void> make-ghil-void ghil-void? (<ghil-void> make-ghil-void ghil-void?
ghil-void-env ghil-void-loc ghil-void-env ghil-void-loc

View file

@ -20,8 +20,8 @@
;;; Code: ;;; Code:
(define-module (system il glil) (define-module (system il glil)
:use-syntax (system base syntax) #:use-syntax (system base syntax)
:export #:export
(pprint-glil (pprint-glil
<glil-vars> make-glil-vars <glil-vars> make-glil-vars
glil-vars-nargs glil-vars-nrest glil-vars-nlocs glil-vars-nexts glil-vars-nargs glil-vars-nrest glil-vars-nlocs glil-vars-nexts

View file

@ -20,10 +20,10 @@
;;; Code: ;;; Code:
(define-module (system il inline) (define-module (system il inline)
:use-module (system base syntax) #:use-module (system base syntax)
:use-module (system il ghil) #:use-module (system il ghil)
:use-module (srfi srfi-16) #:use-module (srfi srfi-16)
:export (*inline-table* define-inline try-inline try-inline-with-env)) #:export (*inline-table* define-inline try-inline try-inline-with-env))
(define *inline-table* '()) (define *inline-table* '())

View file

@ -20,24 +20,24 @@
;;; Code: ;;; Code:
(define-module (system repl command) (define-module (system repl command)
:use-syntax (system base syntax) #:use-syntax (system base syntax)
:use-module (system base pmatch) #:use-module (system base pmatch)
:use-module (system base compile) #:use-module (system base compile)
:use-module (system repl common) #:use-module (system repl common)
:use-module (system vm objcode) #:use-module (system vm objcode)
:use-module (system vm program) #:use-module (system vm program)
:use-module (system vm vm) #:use-module (system vm vm)
:autoload (system base language) (lookup-language) #:autoload (system base language) (lookup-language)
:autoload (system il glil) (pprint-glil) #:autoload (system il glil) (pprint-glil)
:autoload (system vm disasm) (disassemble-program disassemble-objcode) #:autoload (system vm disasm) (disassemble-program disassemble-objcode)
:autoload (system vm debug) (vm-debugger vm-backtrace) #:autoload (system vm debug) (vm-debugger vm-backtrace)
:autoload (system vm trace) (vm-trace vm-trace-on vm-trace-off) #:autoload (system vm trace) (vm-trace vm-trace-on vm-trace-off)
:autoload (system vm profile) (vm-profile) #:autoload (system vm profile) (vm-profile)
:use-module (ice-9 format) #:use-module (ice-9 format)
:use-module (ice-9 session) #:use-module (ice-9 session)
:use-module (ice-9 documentation) #:use-module (ice-9 documentation)
:use-module (ice-9 and-let-star) #:use-module (ice-9 and-let-star)
:export (meta-command)) #:export (meta-command))
;;; ;;;
@ -122,7 +122,7 @@
(not (eq? (string-ref (symbol->string (car args)) 0) #\-))) (not (eq? (string-ref (symbol->string (car args)) 0) #\-)))
(let ((c (lookup-command key))) (let ((c (lookup-command key)))
(if c (if c
(cond ((memq :h opts) (display-command c)) (cond ((memq #:h opts) (display-command c))
(else (apply (command-procedure c) (else (apply (command-procedure c)
repl (append! args (reverse! opts))))) repl (append! args (reverse! opts)))))
(user-error "Unknown meta command: ~A" key)))))))) (user-error "Unknown meta command: ~A" key))))))))
@ -229,7 +229,7 @@ Load a file in the current module.
-f Load source file (see `compile')" -f Load source file (see `compile')"
(let* ((file (->string file)) (let* ((file (->string file))
(objcode (if (memq :f opts) (objcode (if (memq #:f opts)
(apply load-source-file file opts) (apply load-source-file file opts)
(apply load-file file opts)))) (apply load-file file opts))))
(vm-load (repl-vm repl) objcode))) (vm-load (repl-vm repl) objcode)))
@ -267,8 +267,8 @@ Generate compiled code.
-O Enable optimization -O Enable optimization
-D Add debug information" -D Add debug information"
(let ((x (apply repl-compile repl form opts))) (let ((x (apply repl-compile repl form opts)))
(cond ((or (memq :e opts) (memq :t opts)) (puts x)) (cond ((or (memq #:e opts) (memq #:t opts)) (puts x))
((memq :c opts) (pprint-glil x)) ((memq #:c opts) (pprint-glil x))
(else (disassemble-objcode x))))) (else (disassemble-objcode x)))))
(define guile:compile-file compile-file) (define guile:compile-file compile-file)

View file

@ -20,11 +20,11 @@
;;; Code: ;;; Code:
(define-module (system repl common) (define-module (system repl common)
:use-syntax (system base syntax) #:use-syntax (system base syntax)
:use-module (system base compile) #:use-module (system base compile)
:use-module (system base language) #:use-module (system base language)
:use-module (system vm vm) #:use-module (system vm vm)
:export (<repl> make-repl repl-vm repl-language repl-options #:export (<repl> make-repl repl-vm repl-language repl-options
repl-tm-stats repl-gc-stats repl-vm-stats repl-tm-stats repl-gc-stats repl-vm-stats
repl-welcome repl-prompt repl-read repl-compile repl-eval repl-welcome repl-prompt repl-read repl-compile repl-eval
repl-print repl-option-ref repl-option-set! repl-print repl-option-ref repl-option-set!
@ -42,12 +42,12 @@
(define %make-repl make-repl) (define %make-repl make-repl)
(define (make-repl lang) (define (make-repl lang)
(%make-repl :vm (the-vm) (%make-repl #:vm (the-vm)
:language (lookup-language lang) #:language (lookup-language lang)
:options repl-default-options #:options repl-default-options
:tm-stats (times) #:tm-stats (times)
:gc-stats (gc-stats) #:gc-stats (gc-stats)
:vm-stats (vm-stats (the-vm)))) #:vm-stats (vm-stats (the-vm))))
(define (repl-welcome repl) (define (repl-welcome repl)
(let ((language (repl-language repl))) (let ((language (repl-language repl)))

View file

@ -20,11 +20,11 @@
;;; Code: ;;; Code:
(define-module (system repl describe) (define-module (system repl describe)
:use-module (oop goops) #:use-module (oop goops)
:use-module (ice-9 regex) #:use-module (ice-9 regex)
:use-module (ice-9 format) #:use-module (ice-9 format)
:use-module (ice-9 and-let-star) #:use-module (ice-9 and-let-star)
:export (describe)) #:export (describe))
(define-method (describe (symbol <symbol>)) (define-method (describe (symbol <symbol>))
(format #t "`~s' is " symbol) (format #t "`~s' is " symbol)

View file

@ -20,16 +20,16 @@
;;; Code: ;;; Code:
(define-module (system repl repl) (define-module (system repl repl)
:use-syntax (system base syntax) #:use-syntax (system base syntax)
:use-module (system base pmatch) #:use-module (system base pmatch)
:use-module (system base compile) #:use-module (system base compile)
:use-module (system base language) #:use-module (system base language)
:use-module (system repl common) #:use-module (system repl common)
:use-module (system repl command) #:use-module (system repl command)
:use-module (system vm vm) #:use-module (system vm vm)
:use-module (system vm debug) #:use-module (system vm debug)
:use-module (ice-9 rdelim) #:use-module (ice-9 rdelim)
:export (start-repl call-with-backtrace)) #:export (start-repl call-with-backtrace))
(define meta-command-token (cons 'meta 'command)) (define meta-command-token (cons 'meta 'command))

View file

@ -20,17 +20,17 @@
;;; Code: ;;; Code:
(define-module (system vm assemble) (define-module (system vm assemble)
:use-syntax (system base syntax) #:use-syntax (system base syntax)
:use-module (system il glil) #:use-module (system il glil)
:use-module (system vm instruction) #:use-module (system vm instruction)
:use-module (system vm objcode) #:use-module (system vm objcode)
:use-module ((system vm program) :select (make-binding)) #:use-module ((system vm program) #:select (make-binding))
:use-module (system vm conv) #:use-module (system vm conv)
:use-module (ice-9 regex) #:use-module (ice-9 regex)
:use-module (ice-9 common-list) #:use-module (ice-9 common-list)
:use-module (srfi srfi-4) #:use-module (srfi srfi-4)
:use-module ((srfi srfi-1) :select (append-map)) #:use-module ((srfi srfi-1) #:select (append-map))
:export (preprocess codegen assemble)) #:export (preprocess codegen assemble))
(define (assemble glil env . opts) (define (assemble glil env . opts)
(codegen (preprocess glil #f) #t)) (codegen (preprocess glil #f) #t))
@ -55,9 +55,9 @@
(define (preprocess x e) (define (preprocess x e)
(record-case x (record-case x
((<glil-asm> vars meta body) ((<glil-asm> vars meta body)
(let* ((venv (make-venv :parent e :nexts (glil-vars-nexts vars) :closure? #f)) (let* ((venv (make-venv #:parent e #:nexts (glil-vars-nexts vars) #:closure? #f))
(body (map (lambda (x) (preprocess x venv)) body))) (body (map (lambda (x) (preprocess x venv)) body)))
(make-vm-asm :venv venv :glil x :body body))) (make-vm-asm #:venv venv #:glil x #:body body)))
((<glil-external> op depth index) ((<glil-external> op depth index)
(do ((d depth (- d 1)) (do ((d depth (- d 1))
(e e (venv-parent e))) (e e (venv-parent e)))
@ -86,9 +86,9 @@
(push (code->bytes code) stack)) (push (code->bytes code) stack))
(dump-object! push-code! `(,bindings ,sources ,@tail)) (dump-object! push-code! `(,bindings ,sources ,@tail))
(push-code! '(return)) (push-code! '(return))
(make-bytespec :vars (make-glil-vars 0 0 0 0) (make-bytespec #:vars (make-glil-vars 0 0 0 0)
:bytes (stack->bytes (reverse! stack) '()) #:bytes (stack->bytes (reverse! stack) '())
:meta #f :objs #f :closure? #f)))) #:meta #f #:objs #f #:closure? #f))))
(define (codegen glil toplevel) (define (codegen glil toplevel)
(record-case glil (record-case glil
@ -171,12 +171,12 @@
((ref set) ((ref set)
(cond (cond
(toplevel (toplevel
(push-object! (make-vlink-now :name name)) (push-object! (make-vlink-now #:name name))
(push-code! (case op (push-code! (case op
((ref) '(variable-ref)) ((ref) '(variable-ref))
((set) '(variable-set))))) ((set) '(variable-set)))))
(else (else
(let* ((var (make-vlink-later :module module :name name)) (let* ((var (make-vlink-later #:module module #:name name))
(i (cond ((object-assoc var object-alist) => cdr) (i (cond ((object-assoc var object-alist) => cdr)
(else (else
(let ((i (length object-alist))) (let ((i (length object-alist)))
@ -186,7 +186,7 @@
((ref) `(late-variable-ref ,i)) ((ref) `(late-variable-ref ,i))
((set) `(late-variable-set ,i)))))))) ((set) `(late-variable-set ,i))))))))
((define) ((define)
(push-object! (make-vdefine :module module :name name)) (push-object! (make-vdefine #:module module #:name name))
(push-code! '(variable-set))) (push-code! '(variable-set)))
(else (else
(error "unknown toplevel var kind" op name)))) (error "unknown toplevel var kind" op name))))
@ -214,13 +214,13 @@
(let ((bytes (stack->bytes (reverse! stack) label-alist))) (let ((bytes (stack->bytes (reverse! stack) label-alist)))
(if toplevel (if toplevel
(bytecode->objcode bytes (glil-vars-nlocs vars) (glil-vars-nexts vars)) (bytecode->objcode bytes (glil-vars-nlocs vars) (glil-vars-nexts vars))
(make-bytespec :vars vars :bytes bytes (make-bytespec #:vars vars #:bytes bytes
:meta (make-meta (reverse! binding-alist) #:meta (make-meta (reverse! binding-alist)
(reverse! source-alist) (reverse! source-alist)
meta) meta)
:objs (let ((objs (map car (reverse! object-alist)))) #:objs (let ((objs (map car (reverse! object-alist))))
(if (null? objs) #f (list->vector objs))) (if (null? objs) #f (list->vector objs)))
:closure? (venv-closure? venv)))))))))) #:closure? (venv-closure? venv))))))))))
(define (object-assoc x alist) (define (object-assoc x alist)
(record-case x (record-case x

View file

@ -20,12 +20,12 @@
;;; Code: ;;; Code:
(define-module (system vm conv) (define-module (system vm conv)
:use-module (system vm instruction) #:use-module (system vm instruction)
:use-module (system base pmatch) #:use-module (system base pmatch)
:use-module (ice-9 regex) #:use-module (ice-9 regex)
:use-module (srfi srfi-4) #:use-module (srfi srfi-4)
:use-module (srfi srfi-1) #:use-module (srfi srfi-1)
:export (code-pack code-unpack object->code code->object code->bytes #:export (code-pack code-unpack object->code code->object code->bytes
make-byte-decoder)) make-byte-decoder))
;;; ;;;

View file

@ -20,11 +20,11 @@
;;; Code: ;;; Code:
(define-module (system vm debug) (define-module (system vm debug)
:use-syntax (system base syntax) #:use-syntax (system base syntax)
:use-module (system vm vm) #:use-module (system vm vm)
:use-module (system vm frame) #:use-module (system vm frame)
:use-module (ice-9 format) #:use-module (ice-9 format)
:export (vm-debugger vm-backtrace)) #:export (vm-debugger vm-backtrace))
;;; ;;;
@ -38,7 +38,7 @@
(if (null? chain) (if (null? chain)
(display "Nothing to debug\n") (display "Nothing to debug\n")
(debugger-repl (make-debugger (debugger-repl (make-debugger
:vm vm :chain chain :index (length chain)))))) #:vm vm #:chain chain #:index (length chain))))))
(define (debugger-repl db) (define (debugger-repl db)
(let loop () (let loop ()

View file

@ -20,14 +20,14 @@
;;; Code: ;;; Code:
(define-module (system vm disasm) (define-module (system vm disasm)
:use-module (system base pmatch) #:use-module (system base pmatch)
:use-module (system vm objcode) #:use-module (system vm objcode)
:use-module (system vm program) #:use-module (system vm program)
:use-module (system vm conv) #:use-module (system vm conv)
:use-module (ice-9 regex) #:use-module (ice-9 regex)
:use-module (ice-9 format) #:use-module (ice-9 format)
:use-module (ice-9 receive) #:use-module (ice-9 receive)
:export (disassemble-objcode disassemble-program disassemble-bytecode)) #:export (disassemble-objcode disassemble-program disassemble-bytecode))
(define (disassemble-objcode objcode . opts) (define (disassemble-objcode objcode . opts)
(let* ((prog (objcode->program objcode)) (let* ((prog (objcode->program objcode))

View file

@ -20,10 +20,10 @@
;;; Code: ;;; Code:
(define-module (system vm frame) (define-module (system vm frame)
:use-module (system vm program) #:use-module (system vm program)
:use-module (system vm instruction) #:use-module (system vm instruction)
:use-module ((srfi srfi-1) :select (fold)) #:use-module ((srfi srfi-1) #:select (fold))
:export (frame-number frame-address #:export (frame-number frame-address
make-frame-chain make-frame-chain
print-frame print-frame-chain-as-backtrace print-frame print-frame-chain-as-backtrace
frame-arguments frame-local-variables frame-external-variables frame-arguments frame-local-variables frame-external-variables

View file

@ -20,7 +20,7 @@
;;; Code: ;;; Code:
(define-module (system vm instruction) (define-module (system vm instruction)
:export (instruction-list #:export (instruction-list
instruction? instruction-length instruction? instruction-length
instruction-pops instruction-pushes instruction-pops instruction-pushes
instruction->opcode opcode->instruction)) instruction->opcode opcode->instruction))

View file

@ -20,7 +20,7 @@
;;; Code: ;;; Code:
(define-module (system vm objcode) (define-module (system vm objcode)
:export (objcode->u8vector objcode? objcode->program bytecode->objcode #:export (objcode->u8vector objcode? objcode->program bytecode->objcode
load-objcode)) load-objcode))
(dynamic-call "scm_init_objcodes" (dynamic-link "libguile")) (dynamic-call "scm_init_objcodes" (dynamic-link "libguile"))

View file

@ -20,9 +20,9 @@
;;; Code: ;;; Code:
(define-module (system vm profile) (define-module (system vm profile)
:use-module (system vm vm) #:use-module (system vm vm)
:use-module (ice-9 format) #:use-module (ice-9 format)
:export (vm-profile)) #:export (vm-profile))
(define (vm-profile vm objcode . opts) (define (vm-profile vm objcode . opts)
(let ((flag (vm-option vm 'debug))) (let ((flag (vm-option vm 'debug)))

View file

@ -20,7 +20,7 @@
;;; Code: ;;; Code:
(define-module (system vm program) (define-module (system vm program)
:export (arity:nargs arity:nrest arity:nlocs arity:nexts #:export (arity:nargs arity:nrest arity:nlocs arity:nexts
make-binding binding:name binding:extp binding:index make-binding binding:name binding:extp binding:index
source:addr source:line source:column source:file source:addr source:line source:column source:file
program-bindings program-sources program-bindings program-sources

View file

@ -20,11 +20,11 @@
;;; Code: ;;; Code:
(define-module (system vm trace) (define-module (system vm trace)
:use-syntax (system base syntax) #:use-syntax (system base syntax)
:use-module (system vm vm) #:use-module (system vm vm)
:use-module (system vm frame) #:use-module (system vm frame)
:use-module (ice-9 format) #:use-module (ice-9 format)
:export (vm-trace vm-trace-on vm-trace-off)) #:export (vm-trace vm-trace-on vm-trace-off))
(define (vm-trace vm objcode . opts) (define (vm-trace vm objcode . opts)
(dynamic-wind (dynamic-wind
@ -34,13 +34,13 @@
(define (vm-trace-on vm . opts) (define (vm-trace-on vm . opts)
(set-vm-option! vm 'trace-first #t) (set-vm-option! vm 'trace-first #t)
(if (memq :b opts) (add-hook! (vm-next-hook vm) trace-next)) (if (memq #:b opts) (add-hook! (vm-next-hook vm) trace-next))
(set-vm-option! vm 'trace-options opts) (set-vm-option! vm 'trace-options opts)
(add-hook! (vm-apply-hook vm) trace-apply) (add-hook! (vm-apply-hook vm) trace-apply)
(add-hook! (vm-return-hook vm) trace-return)) (add-hook! (vm-return-hook vm) trace-return))
(define (vm-trace-off vm . opts) (define (vm-trace-off vm . opts)
(if (memq :b opts) (remove-hook! (vm-next-hook vm) trace-next)) (if (memq #:b opts) (remove-hook! (vm-next-hook vm) trace-next))
(remove-hook! (vm-apply-hook vm) trace-apply) (remove-hook! (vm-apply-hook vm) trace-apply)
(remove-hook! (vm-return-hook vm) trace-return)) (remove-hook! (vm-return-hook vm) trace-return))

View file

@ -20,9 +20,9 @@
;;; Code: ;;; Code:
(define-module (system vm vm) (define-module (system vm vm)
:use-module (system vm frame) #:use-module (system vm frame)
:use-module (system vm objcode) #:use-module (system vm objcode)
:export (vm? the-vm make-vm vm-version #:export (vm? the-vm make-vm vm-version
vm:ip vm:sp vm:fp vm:last-ip vm:ip vm:sp vm:fp vm:last-ip
vm-load vm-return-value vm-load vm-return-value