mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-07-02 23:50:47 +02:00
* module/ice-9/boot-9.scm (make-fresh-user-module): New public function, makes an anonymous beautified module. * module/language/objcode/spec.scm: We used to have some things in here that allowed lexical variable names and values to be a part of the environment, but no more. Now an environment is just a module. If you want to "inject" free variables into code, just use lambda. * module/language/scheme/compile-tree-il.scm (compile-tree-il): Same here. Also, rely on the fact that an environment *will* be a module -- because (system base compile) guarantees that for us. * module/language/scheme/spec.scm (scheme): In the reader, rely on the environment being a module. Define a #:make-default-environment handler, which returns a beautified module, augmented with a fresh definition for current-reader, so that side effects to current-reader are restricted to the compilation unit. * module/language/tree-il/analyze.scm (report-possibly-unbound-variables): * module/language/tree-il/compile-glil.scm (compile-glil): * module/language/tree-il/optimize.scm (optimize!): The environment will be a module. * module/system/base/language.scm (<language>): New field, `make-default-environment'. Defaults to `make-fresh-user-module'. (default-environment): New accessor, returns a default environment for a language. * module/system/repl/common.scm (repl-compile): Always compile relative to the current module, because a module is always acceptable as an environment. * module/system/base/compile.scm (compile-file, compile-and-load): Both of these have a new keyword argument, #:env. For `compile-file', it defaults to the default environment of the source language, and for `compile-and-load', to the current module. (read-and-compile): If there are no expressions read, pass the joiner its default environment (via `default-environment joint'). |
||
---|---|---|
.. | ||
debugger | ||
debugging | ||
and-let-star.scm | ||
arrays.scm | ||
boot-9.scm | ||
buffered-input.scm | ||
calling.scm | ||
ChangeLog-2008 | ||
channel.scm | ||
common-list.scm | ||
compile-psyntax.scm | ||
debug.scm | ||
debugger.scm | ||
deprecated.scm | ||
documentation.scm | ||
emacs.scm | ||
expect.scm | ||
format.scm | ||
ftw.scm | ||
gap-buffer.scm | ||
gds-client.scm | ||
gds-server.scm | ||
getopt-long.scm | ||
hcons.scm | ||
history.scm | ||
i18n.scm | ||
lineio.scm | ||
list.scm | ||
ls.scm | ||
mapping.scm | ||
match.scm | ||
networking.scm | ||
null.scm | ||
occam-channel.scm | ||
optargs.scm | ||
poe.scm | ||
popen.scm | ||
posix.scm | ||
pretty-print.scm | ||
psyntax-pp.scm | ||
psyntax.scm | ||
q.scm | ||
r4rs.scm | ||
r5rs.scm | ||
rdelim.scm | ||
README | ||
receive.scm | ||
regex.scm | ||
runq.scm | ||
rw.scm | ||
safe-r5rs.scm | ||
safe.scm | ||
serialize.scm | ||
session.scm | ||
slib.scm | ||
stack-catch.scm | ||
streams.scm | ||
string-fun.scm | ||
syncase.scm | ||
test.scm | ||
threads.scm | ||
time.scm | ||
weak-vector.scm |
This directory contains various bits of Guile Scheme code. Most of these are packaged as modules, with foo.scm implementing the module `(ice-9 foo)'. The non-module files are: boot-9.scm -- loaded on guile startup implements module system + lots of other stuff arrays.scm -- loaded by boot-9.scm networking.scm -- loaded by boot-9.scm posix.scm -- loaded by boot-9.scm r4rs.scm -- loaded by boot-9.scm