1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-07-05 09:10:18 +02:00

more dedottification, almost done

* module/system/repl/common.scm:
* module/system/base/compile.scm: Export some more things.

* module/system/repl/command.scm: Dedottify.
This commit is contained in:
Andy Wingo 2008-05-04 16:12:36 +02:00
parent aa0a011b82
commit ce0925e14e
3 changed files with 38 additions and 31 deletions

View file

@ -27,7 +27,8 @@
:use-module ((system vm core) :use-module ((system vm core)
:select (the-vm vm-load objcode->u8vector)) :select (the-vm vm-load objcode->u8vector))
:use-module (system vm assemble) :use-module (system vm assemble)
:use-module (ice-9 regex)) :use-module (ice-9 regex)
:export (<cenv> make-cenv cenv-vm cenv-language cenv-module))
;;; ;;;
;;; Compiler environment ;;; Compiler environment
@ -35,8 +36,6 @@
(define-record (<cenv> vm language module)) (define-record (<cenv> vm language module))
(export make-cenv)
(define-public (syntax-error loc msg exp) (define-public (syntax-error loc msg exp)
(throw 'syntax-error loc msg exp)) (throw 'syntax-error loc msg exp))

View file

@ -167,7 +167,7 @@ List/show/set options."
(() (()
(for-each (lambda (key+val) (for-each (lambda (key+val)
(format #t "~A\t~A\n" (car key+val) (cdr key+val))) (format #t "~A\t~A\n" (car key+val) (cdr key+val)))
repl.options)) (repl-options repl)))
((,key) ((,key)
(display (repl-option-ref repl key)) (display (repl-option-ref repl key))
(newline)) (newline))
@ -175,9 +175,10 @@ List/show/set options."
(repl-option-set! repl key val) (repl-option-set! repl key val)
(case key (case key
((trace) ((trace)
(if val (let ((vm (cenv-vm (repl-env repl))))
(apply vm-trace-on repl.env.vm val) (if val
(vm-trace-off repl.env.vm))))))) (apply vm-trace-on vm val)
(vm-trace-off vm))))))))
(define (quit repl) (define (quit repl)
"quit "quit
@ -193,7 +194,7 @@ Quit this session."
"module [MODULE] "module [MODULE]
Change modules / Show current module." Change modules / Show current module."
(pmatch args (pmatch args
(() (puts (binding repl.env.module))))) (() (puts (binding (cenv-module (repl-env repl)))))))
(define (use repl . args) (define (use repl . args)
"use [MODULE ...] "use [MODULE ...]
@ -201,12 +202,12 @@ Use modules."
(define (use name) (define (use name)
(let ((mod (resolve-interface name))) (let ((mod (resolve-interface name)))
(if mod (if mod
(module-use! repl.env.module mod) (module-use! (cenv-module (repl-env repl)) mod)
(user-error "No such module: ~A" name)))) (user-error "No such module: ~A" name))))
(if (null? args) (if (null? args)
(for-each puts (map module-name (for-each puts (map module-name
(cons repl.env.module (cons (cenv-module (repl-env repl))
(module-uses repl.env.module)))) (module-uses (cenv-module (repl-env repl))))))
(for-each (lambda (name) (for-each (lambda (name)
(cond (cond
((pair? name) (use name)) ((pair? name) (use name))
@ -221,11 +222,12 @@ Import modules / List those imported."
(define (use name) (define (use name)
(let ((mod (resolve-interface name))) (let ((mod (resolve-interface name)))
(if mod (if mod
(module-use! repl.env.module mod) (module-use! (cenv-module (repl-env repl)) mod)
(user-error "No such module: ~A" name)))) (user-error "No such module: ~A" name))))
(if (null? args) (if (null? args)
(for-each puts (map module-name (for-each puts (map module-name
(cons repl.env.module (module-uses repl.env.module)))) (cons (cenv-module (repl-env repl))
(module-uses (cenv-module (repl-env repl))))))
(for-each (lambda (name) (for-each (lambda (name)
(cond (cond
((pair? name) (use name)) ((pair? name) (use name))
@ -244,12 +246,13 @@ Load a file in the current module.
(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.env.vm objcode))) (vm-load (cenv-vm (repl-env repl)) objcode)))
(define (binding repl . opts) (define (binding repl . opts)
"binding "binding
List current bindings." List current bindings."
(fold (lambda (s v d) (format #t "~23A ~A\n" s v)) #f repl.env.module)) (fold (lambda (s v d) (format #t "~23A ~A\n" s v)) #f
(cenv-module (repl-env repl))))
;;; ;;;
@ -259,7 +262,7 @@ List current bindings."
(define (language repl name) (define (language repl name)
"language LANGUAGE "language LANGUAGE
Change languages." Change languages."
(set! repl.env.language (lookup-language name)) (set! (cenv-language (repl-env repl)) (lookup-language name))
(repl-welcome repl)) (repl-welcome repl))
@ -306,13 +309,13 @@ Disassemble a file."
(define (time repl form) (define (time repl form)
"time FORM "time FORM
Time execution." Time execution."
(let* ((vms-start (vm-stats repl.env.vm)) (let* ((vms-start (vm-stats (cenv-vm (repl-env repl))))
(gc-start (gc-run-time)) (gc-start (gc-run-time))
(tms-start (times)) (tms-start (times))
(result (repl-eval repl form)) (result (repl-eval repl form))
(tms-end (times)) (tms-end (times))
(gc-end (gc-run-time)) (gc-end (gc-run-time))
(vms-end (vm-stats repl.env.vm))) (vms-end (vm-stats (cenv-vm (repl-env repl)))))
(define (get proc start end) (define (get proc start end)
(/ (- (proc end) (proc start)) internal-time-units-per-second)) (/ (- (proc end) (proc start)) internal-time-units-per-second))
(repl-print repl result) (repl-print repl result)
@ -329,7 +332,10 @@ Time execution."
(define (profile repl form . opts) (define (profile repl form . opts)
"profile FORM "profile FORM
Profile execution." Profile execution."
(apply vm-profile repl.env.vm (repl-compile repl form) opts)) (apply vm-profile
(cenv-vm (repl-env repl))
(repl-compile repl form)
opts))
;;; ;;;
@ -339,12 +345,12 @@ Profile execution."
(define (backtrace repl) (define (backtrace repl)
"backtrace "backtrace
Display backtrace." Display backtrace."
(vm-backtrace repl.env.vm)) (vm-backtrace (cenv-vm (repl-env repl))))
(define (debugger repl) (define (debugger repl)
"debugger "debugger
Start debugger." Start debugger."
(vm-debugger repl.env.vm)) (vm-debugger (cenv-vm (repl-env repl))))
(define (trace repl form . opts) (define (trace repl form . opts)
"trace FORM "trace FORM
@ -354,7 +360,7 @@ Trace execution.
-l Display local variables -l Display local variables
-e Display external variables -e Display external variables
-b Bytecode level trace" -b Bytecode level trace"
(apply vm-trace repl.env.vm (repl-compile repl form) opts)) (apply vm-trace (cenv-vm (repl-env repl)) (repl-compile repl form) opts))
(define (step repl) (define (step repl)
"step FORM "step FORM
@ -376,11 +382,11 @@ Garbage collection."
"statistics "statistics
Display statistics." Display statistics."
(let ((this-tms (times)) (let ((this-tms (times))
(this-vms (vm-stats repl.env.vm)) (this-vms (vm-stats (cenv-vm (repl-env repl))))
(this-gcs (gc-stats)) (this-gcs (gc-stats))
(last-tms repl.tm-stats) (last-tms (repl-tm-stats repl))
(last-vms repl.vm-stats) (last-vms (repl-vm-stats repl))
(last-gcs repl.gc-stats)) (last-gcs (repl-gc-stats repl)))
;; GC times ;; GC times
(let ((this-times (assq-ref this-gcs 'gc-times)) (let ((this-times (assq-ref this-gcs 'gc-times))
(last-times (assq-ref last-gcs 'gc-times))) (last-times (assq-ref last-gcs 'gc-times)))
@ -443,9 +449,9 @@ Display statistics."
(newline)) (newline))
;; Save statistics ;; Save statistics
;; Save statistics ;; Save statistics
(set! repl.tm-stats this-tms) (set! (repl-tm-stats repl) this-tms)
(set! repl.vm-stats this-vms) (set! (repl-vm-stats repl) this-vms)
(set! repl.gc-stats this-gcs))) (set! (repl-gc-stats repl) this-gcs)))
(define (display-stat title flag field1 field2 unit) (define (display-stat title flag field1 field2 unit)
(let ((str (format #f "~~20~AA ~~10@A /~~10@A ~~A~~%" (if flag "" "@")))) (let ((str (format #f "~~20~AA ~~10@A /~~10@A ~~A~~%" (if flag "" "@"))))

View file

@ -23,7 +23,9 @@
: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 core)) :use-module (system vm core)
:export (<repl> make-repl repl-env repl-options repl-tm-stats
repl-gc-stats repl-vm-stats))
;;; ;;;
@ -36,7 +38,7 @@
'((trace . #f))) '((trace . #f)))
(define %make-repl make-repl) (define %make-repl make-repl)
(define-public (make-repl lang) (define (make-repl lang)
(let ((cenv (make-cenv :vm (the-vm) (let ((cenv (make-cenv :vm (the-vm)
:language (lookup-language lang) :language (lookup-language lang)
:module (current-module)))) :module (current-module))))