4 1. Install the latest Guile from CVS.
10 % ln -s module/{system,language} /usr/local/share/guile/site/
12 3. Add the following lines to your ~/.guile:
14 (cond ((string=? (car (command-line)) "guile-vm")
15 (use-modules (system repl repl))
23 Guile Scheme interpreter 0.4 on Guile 1.4.1
24 Copyright (C) 2001 Free Software Foundation, Inc.
26 Enter `,help' for help.
27 gscheme@guile> (+ 1 2)
29 gscheme@guile> ,c -c (+ 1 2) ;; Compile into GLIL
35 gscheme@guile> ,c (+ 1 2) ;; Compile into bootcode
36 Disassembly of bootcode:
38 Compiled for Guile VM 0.4
47 gscheme@guile> (define (add x y) (+ x y))
48 gscheme@guile> (add 1 2)
50 gscheme@guile> ,x add ;; Disassemble
51 Disassembly of #<program add>:
53 nargs = 2 nrest = 0 nlocs = 0 nexts = 0
67 ---- fib.scm ---------------------------
69 :use-module (system vm load)
72 (load/compile "fib.gs")
73 ----------------------------------------
75 ---- fib.gs ----------------------------
79 (+ (fib (- n 1)) (fib (- n 2)))))
80 ----------------------------------------
82 Now, expressions in fib.gsm are automatically compiled and
83 executed by the Guile VM:
86 guile> (use-modules (fib))
87 guile> (time (fib 30))
88 clock utime stime cutime cstime gctime
89 2.80 2.79 0.00 0.00 0.00 0.00
91 guile> (define (fib n) (if (< n 2) 1 (+ (fib (- n 1)) (fib (- n 2)))))
92 guile> (time (fib 30))
93 clock utime stime cutime cstime gctime
94 26.05 25.01 0.17 0.00 0.00 14.33
97 If you don't want to compile your code (e.g., for debugging purpose),
98 just change `load/compile' to `load'.