129 |
Previously, the normal evaluator would have been used. Using the |
Previously, the normal evaluator would have been used. Using the |
130 |
debugging evaluator gives better error messages. |
debugging evaluator gives better error messages. |
131 |
|
|
132 |
|
** The '-e' option now 'read's its argument. |
133 |
|
|
134 |
|
This is to allow the new '(@ MODULE-NAME VARIABLE-NAME)' construct to |
135 |
|
be used with '-e'. For example, you can now write a script like |
136 |
|
|
137 |
|
#! /bin/sh |
138 |
|
exec guile -e '(@ (demo) main)' -s "$0" "$@" |
139 |
|
!# |
140 |
|
|
141 |
|
(define-module (demo) |
142 |
|
:export (main)) |
143 |
|
|
144 |
|
(define (main args) |
145 |
|
(format #t "Demo: ~a~%" args)) |
146 |
|
|
147 |
|
|
148 |
* Changes to Scheme functions and syntax |
* Changes to Scheme functions and syntax |
149 |
|
|
150 |
|
** New syntax '@' and '@@': |
151 |
|
|
152 |
|
You can now directly refer to variables exported from a module by |
153 |
|
writing |
154 |
|
|
155 |
|
(@ MODULE-NAME VARIABLE-NAME) |
156 |
|
|
157 |
|
For example (@ (ice-9 pretty-print) pretty-print) will directly access |
158 |
|
the pretty-print variable exported from the (ice-9 pretty-print) |
159 |
|
module. You don't need to 'use' that module first. You can also use |
160 |
|
'@' with 'set!'. |
161 |
|
|
162 |
|
The related syntax (@@ MODULE-NAME VARIABLE-NAME) works just like '@', |
163 |
|
but it can also access variables that have not been exported. It is |
164 |
|
intended only for kluges and temporary fixes and for debugging, not |
165 |
|
for ordinary code. |
166 |
|
|
167 |
** 'while' now provides 'break' and 'continue' |
** 'while' now provides 'break' and 'continue' |
168 |
|
|
169 |
break and continue were previously bound in a while loop, but not |
break and continue were previously bound in a while loop, but not |