mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-28 16:00:22 +02:00
* doc/ref/compiler.texi: Remove mention of <dynwind>. * libguile/eval.c (eval): Remove SCM_M_DYNWIND case. * libguile/expand.c: Remove scm_sym_at_dynamic_wind. * libguile/memoize.c (do_wind, do_unwind): A couple of hacky subrs. If we see a wind or unwind primcall, we expand to a call of a quoted subr value. It works and removes a kind of memoized value from the interpreter. For the compiler,primcalls to wind and unwind are handled specially. (MAKMEMO_DYNWIND): Remove. (scm_tc16_memoizer): Remove. Yay! (memoize): Remove speculative lookup for toplevels to see if they are memoizers: there are no more memoizers. Memoize calls to the wind and unwind primitives. (m_dynamic_wind): Remove. (unmemoize): Remove dynwind case. (scm_init_memoize): Add wind and unwind local definitions. * module/ice-9/boot-9.scm (dynamic-wind): Reimplement in terms of "wind" and "unwind" primitives. These primitives are not exposed to other modules. * module/ice-9/eval.scm (primitive-eval): Remove dynwind case. * module/language/scheme/decompile-tree-il.scm (do-decompile): (choose-output-names): Remove dynwind cases. * module/language/tree-il.scm: Remove <dynwind>. Yaaay! * module/language/tree-il/analyze.scm (analyze-lexicals): Remove dynwind cases. * module/language/tree-il/compile-glil.scm (*primcall-ops*): Add wind and unwind. (flatten-lambda-case): Remove dynwind case. Yay! * module/language/tree-il/cse.scm (cse): * module/language/tree-il/debug.scm (verify-tree-il): * module/language/tree-il/effects.scm (make-effects-analyzer): * module/language/tree-il/peval.scm (singly-valued-expression?, peval): Remove <dywind> cases. Inline primcalls to dynamic-wind. Add constant folding for thunk?. * module/language/tree-il/primitives.scm (*interesting-primitive-names*): Remove @dynamic-wind, and add procedure? and thunk?. (*effect+exception-free-primitives*): Add procedure? and thunk?. (*multiply-valued-primitives*): Remove @dynamic-wind. Remove @dynamic-wind expander. * test-suite/tests/peval.test ("partial evaluation"): Update tests for dynwind desugaring. |
||
---|---|---|
.. | ||
example-smob | ||
maint | ||
r5rs | ||
ref | ||
.gitignore | ||
BUGS | ||
ChangeLog-2008 | ||
ChangeLog-guile-doc | ||
gendocs_template | ||
goops.mail | ||
groupings.alist | ||
guile-api.alist | ||
guile.1 | ||
hacks.el | ||
Makefile.am | ||
NEWS | ||
oldfmt.c | ||
README | ||
recipe-guidelines.txt | ||
release.org | ||
texinfo.tex | ||
THANKS | ||
use-cases.fig | ||
use-cases.txt |
This directory contains documentation on the Guile core. -*-text-*- The documentation consists of the following manuals. - The Guile Tutorial (guile-tut.texi) contains a tutorial introduction to using Guile. - The Guile Reference Manual (guile.texi) contains (or is intended to contain) reference documentation on all aspects of Guile. - The Revised^5 Report on the Algorithmic Language Scheme (r5rs.texi). Please be aware that this is all very much work in progress (apart from the Revised^5 Report). Bug reports and contributions are welcome! The file `oldfmt.c' contains a function which can be used by application writers to support both old-style and new-style error format strings. The `sources' directory includes some stuff relevant to the Guile reference manual, and which may eventually be folded in to it. It's not immediately relevant, however, which is why it's not in this directory. The Revised^4 Report (r4rs.texi) is no longer in this distribution, as it is completely superseded by the Revised^5 Report. If you need to consult R4RS, it is still widely available, for example at http://www-swiss.ai.mit.edu/projects/info/SchemeDocs/r4rs/.