mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-28 16:00:22 +02:00
* libguile/dynstack.h (SCM_DYNSTACK_TYPE_DYNAMIC_STATE): * libguile/dynstack.c (DYNAMIC_STATE_WORDS, DYNAMIC_STATE_STATE_BOX): (scm_dynstack_push_dynamic_state): (scm_dynstack_unwind_dynamic_state): New definitions. (scm_dynstack_unwind_1, scm_dynstack_wind_1): Add with-dynamic-state cases. * libguile/memoize.c (push_dynamic_state, pop_dynamic_state) (do_push_dynamic_state, do_pop_dynamic_state): New definitions. (memoize, scm_init_memoize): Handle push-dynamic-state and pop-dynamic-state. * libguile/vm-engine.c (push-dynamic-state, pop-dynamic-state): New opcodes. * module/ice-9/boot-9.scm (with-dynamic-state): New definition in Scheme so that the push-dynamic-state and pop-dynamic-state always run in the VM. * module/language/cps/compile-bytecode.scm (compile-function): * module/language/cps/effects-analysis.scm: * module/language/cps/types.scm: * module/language/tree-il/effects.scm (make-effects-analyzer): * module/language/tree-il/peval.scm (peval): * module/language/tree-il/primitives.scm (*interesting-primitive-names*): * module/system/vm/assembler.scm: Add support for with-dynamic-state to the compiler. * test-suite/tests/fluids.test ("dynamic states"): Add basic tests. * doc/ref/vm.texi (Dynamic Environment Instructions): Update. |
||
---|---|---|
.. | ||
peg | ||
and-let-star.scm | ||
arrays.scm | ||
atomic.scm | ||
binary-ports.scm | ||
boot-9.scm | ||
buffered-input.scm | ||
calling.scm | ||
ChangeLog-2008 | ||
channel.scm | ||
command-line.scm | ||
common-list.scm | ||
compile-psyntax.scm | ||
control.scm | ||
curried-definitions.scm | ||
debug.scm | ||
deprecated.scm | ||
documentation.scm | ||
eval-string.scm | ||
eval.scm | ||
expect.scm | ||
fdes-finalizers.scm | ||
format.scm | ||
ftw.scm | ||
futures.scm | ||
gap-buffer.scm | ||
getopt-long.scm | ||
hash-table.scm | ||
hcons.scm | ||
history.scm | ||
i18n.scm | ||
iconv.scm | ||
lineio.scm | ||
list.scm | ||
local-eval.scm | ||
ls.scm | ||
mapping.scm | ||
match.scm | ||
match.upstream.scm | ||
networking.scm | ||
null.scm | ||
occam-channel.scm | ||
optargs.scm | ||
peg.scm | ||
poe.scm | ||
poll.scm | ||
popen.scm | ||
ports.scm | ||
posix.scm | ||
pretty-print.scm | ||
psyntax-pp.scm | ||
psyntax.scm | ||
q.scm | ||
quasisyntax.scm | ||
r5rs.scm | ||
r6rs-libraries.scm | ||
rdelim.scm | ||
README | ||
receive.scm | ||
regex.scm | ||
runq.scm | ||
rw.scm | ||
safe-r5rs.scm | ||
safe.scm | ||
save-stack.scm | ||
scm-style-repl.scm | ||
serialize.scm | ||
session.scm | ||
slib.scm | ||
stack-catch.scm | ||
streams.scm | ||
string-fun.scm | ||
suspendable-ports.scm | ||
syncase.scm | ||
test.scm | ||
textual-ports.scm | ||
threads.scm | ||
time.scm | ||
top-repl.scm | ||
unicode.scm | ||
vlist.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