4 1. Install the latest Guile from CVS.
12 % ln -s module/{system,language} /usr/local/share/guile/site/
14 4. Add the following lines to your ~/.guile:
16 (cond ((string=? (car (command-line)) "guile-vm")
17 (use-modules (system repl repl))
25 Guile Scheme interpreter 0.4 on Guile 1.4.1
26 Copyright (C) 2001 Free Software Foundation, Inc.
28 Enter `,help' for help.
29 gscheme@guile> (+ 1 2)
31 gscheme@guile> ,c -c (+ 1 2) ;; Compile into GLIL
37 gscheme@guile> ,c (+ 1 2) ;; Compile into bootcode
38 Disassembly of bootcode:
40 Compiled for Guile VM 0.4
50 gscheme@guile> (add 1 2)
52 gscheme@guile> ,x add ;; Disassemble
53 Disassembly of #<program add>:
55 nargs = 2 nrest = 0 nlocs = 0 nexts = 0
69 ---- fib.scm ---------------------------
71 :use-module (system vm load)
74 (load/compile "fib.gs")
75 ----------------------------------------
77 ---- fib.gs ----------------------------
81 (+ (fib (- n 1)) (fib (- n 2)))))
82 ----------------------------------------
84 Now, expressions in fib.gsm are automatically compiled and
85 executed by the Guile VM:
88 guile> (use-modules (fib))
89 guile> (time (fib 30))
90 clock utime stime cutime cstime gctime
91 2.80 2.79 0.00 0.00 0.00 0.00
93 guile> (define (fib n) (if (< n 2) 1 (+ (fib (- n 1)) (fib (- n 2)))))
94 guile> (time (fib 30))
95 clock utime stime cutime cstime gctime
96 26.05 25.01 0.17 0.00 0.00 14.33
99 If you don't want to compile your code (e.g., for debugging purpose),
100 just change `load/compile' to `load'.