From: Keisuke Nishida Date: Sat, 7 Apr 2001 12:29:06 +0000 (+0000) Subject: *** empty log message *** X-Git-Url: http://git.hcoop.net/bpt/guile.git/commitdiff_plain/0b5437c9887c48d385b81fb9946b62a2d583c7bb *** empty log message *** --- diff --git a/ChangeLog b/ChangeLog index 56b451d7b..7a799dda1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2001-04-07 Keisuke Nishida + + * Version 0.4 is released. + 2000-08-20 Keisuke Nishida * Version 0.2 is released. diff --git a/README b/README index 80b5b605e..4e26fdda0 100644 --- a/README +++ b/README @@ -1,77 +1,67 @@ Installation ------------ - % ./autogen.sh +1. Install the latest Guile from CVS. + +2. Install slib. + +3. Install Guile VM: + % configure - % make - % su - # make install - # ln -s module/{system,language} /usr/local/share/guile/site/ + % make install + % ln -s module/{system,language} /usr/local/share/guile/site/ -Add the following lines to your ~/.guile: +4. Add the following lines to your ~/.guile: - (if (string=? (car (command-line)) "guile-vm") - (begin - (use-modules (system repl repl)) - (start-repl 'r5rs) - (quit))) + (cond ((string=? (car (command-line)) "guile-vm") + (use-modules (system repl repl)) + (start-repl 'gscheme) + (quit))) Example Session --------------- % guile-vm - Standard Scheme (R5RS + syntax-case) interpreter 0.3 on Guile 1.4.1 + Guile Scheme interpreter 0.4 on Guile 1.4.1 Copyright (C) 2001 Free Software Foundation, Inc. Enter `,help' for help. - r5rs@guile> (+ 1 2) + gscheme@guile> (+ 1 2) $1 = 3 - r5rs@guile> ,c -c (+ 1 2) ;; Compile into GLIL + gscheme@guile> ,c -c (+ 1 2) ;; Compile into GLIL (@asm (0 0 0 0) (const 1) (const 2) - (add) - (return)) - r5rs@guile> ,c -l (+ 1 2) ;; Compile into loadable code - 0 make-int8:0 ;; 0 - 1 load-program #0 - 8 return + (add 2) + (return 0)) + gscheme@guile> ,c (+ 1 2) ;; Compile into bootcode + Disassembly of bootcode: - Bytecode #0: - - 0 make-int8:1 ;; 1 - 1 make-int8 2 ;; 2 - 3 add - 4 return + Compiled for Guile VM 0.4 - r5rs@guile> ,c (+ 1 2) ;; Compile and disassemble - Disassembly of #: + nlocs = 0 nexts = 0 - args = 0 rest = 0 locals = 0 - - Bytecode: - - 0 make-int8:1 ;; 1 - 1 make-int8 2 ;; 2 + 0 make-int8:1 ;; 1 + 1 make-int8 2 ;; 2 3 add 4 return - r5rs@guile> (define (add x y) (+ x y)) - r5rs@guile> (add 1 2) + gscheme@guile> + gscheme@guile> (add 1 2) $2 = 3 - r5rs@guile> ,x add ;; Disassemble - Disassembly of #: + gscheme@guile> ,x add ;; Disassemble + Disassembly of #: - args = 2 rest = 0 locals = 0 + nargs = 2 nrest = 0 nlocs = 0 nexts = 0 Bytecode: - 0 local-ref 1 - 2 local-ref:0 - 3 add - 4 return + 0 local-ref 0 + 2 local-ref 1 + 4 add + 5 return - r5rs@guile> + gscheme@guile> Write Modules ------------- @@ -81,10 +71,10 @@ Write Modules :use-module (system vm load) :export (fib)) - (load/compile "fib.gsm") + (load/compile "fib.gs") ---------------------------------------- - ---- fib.gsm --------------------------- + ---- fib.gs ---------------------------- (define (fib n) (if (< n 2) 1 @@ -98,7 +88,7 @@ executed by the Guile VM: guile> (use-modules (fib)) guile> (time (fib 30)) clock utime stime cutime cstime gctime - 2.89 2.88 0.00 0.00 0.00 0.00 + 2.80 2.79 0.00 0.00 0.00 0.00 $1 = 1346269 guile> (define (fib n) (if (< n 2) 1 (+ (fib (- n 1)) (fib (- n 2))))) guile> (time (fib 30)) diff --git a/THANKS b/THANKS index 507d4ec00..e3ea26ec5 100644 --- a/THANKS +++ b/THANKS @@ -1 +1 @@ -Guile VM was motivated by QScheme and librep. +Guile VM was inspired by QScheme, librep, and Objective Caml. diff --git a/configure.in b/configure.in index eda04c472..f06a52a34 100644 --- a/configure.in +++ b/configure.in @@ -1,5 +1,5 @@ AC_INIT(src/guile-vm.c) -AM_INIT_AUTOMAKE(guile-vm, 0.3) +AM_INIT_AUTOMAKE(guile-vm, 0.4) AM_CONFIG_HEADER(src/config.h) GUILE_FLAGS diff --git a/module/Makefile.am b/module/Makefile.am index e69de29bb..f9520269b 100644 --- a/module/Makefile.am +++ b/module/Makefile.am @@ -0,0 +1,4 @@ +dist-hook: + mkdir $(distdir)/module + $(TAR) cf - --exclude=CVS $(srcdir)/language $(srcdir)/system \ + | (cd $(distdir)/module; $(TAR) xf -) diff --git a/module/language/gscheme/spec.scm b/module/language/gscheme/spec.scm index c40e80466..5e9facd88 100644 --- a/module/language/gscheme/spec.scm +++ b/module/language/gscheme/spec.scm @@ -123,7 +123,7 @@ (define-language gscheme :title "Guile Scheme" - :version "0.3" + :version "0.4" :reader read :expander expand :translator translate diff --git a/module/system/vm/load.scm b/module/system/vm/load.scm index 8609d4b96..6dca082a5 100644 --- a/module/system/vm/load.scm +++ b/module/system/vm/load.scm @@ -30,7 +30,7 @@ (compiled (object-file-name file))) (if (or (not (file-exists? compiled)) (> (stat:mtime (stat file)) (stat:mtime (stat compiled)))) - (compile-file-in file #f (lookup-language 'gscheme) :O)) + (compile-file-in file #f (lookup-language 'gscheme) #:O)) (let ((bytes (make-uniform-vector (stat:size (stat compiled)) #\a))) (call-with-input-file compiled (lambda (p) (uniform-vector-read! bytes p)))