1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-04-30 11:50:28 +02:00
guile/doc/ref
Andy Wingo bb97e4abd4 dynamic-wind in terms of wind and unwind; remove <dynwind>, @dynamic-wind
* 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.
2013-06-27 22:02:43 +02:00
..
.gitignore add www-commit rule in doc/ref 2010-12-17 16:41:58 +01:00
api-binding.texi Manual: Don't promise to signal an error for an illegal 'letrec'. 2013-04-09 13:59:25 -04:00
api-compound.texi Cross reference 'SRFI-9 Records' directly instead of 'SRFI-9'. 2013-04-04 03:21:40 -04:00
api-control.texi Merge remote-tracking branch 'origin/stable-2.0' 2013-04-14 02:48:33 -04:00
api-coverage.texi Manual sections don't need a page break before 2010-10-31 08:34:05 +00:00
api-data.texi Merge remote-tracking branch 'origin/stable-2.0' 2013-04-14 02:48:33 -04:00
api-debug.texi pop-continuation abort-continuation hooks pass return vals directly 2013-05-27 07:13:13 +02:00
api-deprecated.texi a number of doc fixes 2010-08-16 21:36:14 -07:00
api-evaluation.texi remove apply:nconc2last 2013-06-27 22:02:42 +02:00
api-foreign.texi update old references in FFI doc 2013-02-14 10:45:27 +01:00
api-i18n.texi Merge branch 'wip-manual-2' 2010-04-16 22:26:32 +01:00
api-init.texi Fix explicitely' typos, should be explicitly' 2009-05-20 18:51:03 +01:00
api-io.texi Add keyword arguments to file opening procedures. 2013-04-07 15:37:23 -04:00
api-lalr.texi Manual sections don't need a page break before 2010-10-31 08:34:05 +00:00
api-languages.texi Merge branch 'wip-manual-2' 2010-04-16 22:26:32 +01:00
api-macros.texi Merge remote-tracking branch 'origin/stable-2.0' 2013-03-28 05:09:53 -04:00
api-memory.texi Make notation for Scheme repeated arguments more consistent in manual. 2012-02-04 00:10:13 +01:00
api-modules.texi Remove outdated and misplaced "Included Guile Modules" node from manual. 2013-04-07 15:45:38 -04:00
api-options.texi build: Build and check (ice-9 popen) only when --enable-posix and HAVE_FORK. 2013-03-29 19:20:01 +01:00
api-overview.texi Manual typo fix 2010-12-23 12:17:26 +00:00
api-peg.texi PEG Renames 2013-01-16 10:11:50 +01:00
api-procedures.texi Nicer docstring syntax for case-lambda. 2013-04-04 15:22:18 -04:00
api-regex.texi doc: Fix description of regexp/locale encoding interaction. 2012-08-27 00:09:30 +02:00
api-scheduling.texi futures: Limit the number of nested futures on the same stack. 2013-03-27 18:09:49 +01:00
api-scm.texi
api-smobs.texi excise use of "iff" in the manual 2013-03-10 22:29:18 +01:00
api-snarf.texi
api-undocumented.texi excise use of "iff" in the manual 2013-03-10 22:29:18 +01:00
api-utility.texi excise use of "iff" in the manual 2013-03-10 22:29:18 +01:00
api.txt
ChangeLog-2008 Rename ChangeLog' files to ChangeLog-2008'. 2008-09-12 21:49:58 +02:00
ChangeLog-goops-2008 Move GOOPS documentation into the main manual 2009-08-03 23:29:45 +01:00
ChangeLog-guile-doc-ref
compiler.texi dynamic-wind in terms of wind and unwind; remove <dynwind>, @dynamic-wind 2013-06-27 22:02:43 +02:00
curried.texi Document (ice-9 curried definitions) 2012-09-06 22:15:40 +01:00
data-rep.texi Clarify docs for SCM_UNSPECIFIED: used sometimes but not always 2011-05-25 12:40:55 -04:00
effective-version.texi.in Add an effective version variable for the manual 2009-08-04 12:08:02 +01:00
expect.texi Remove page breaks except before new chapters and indices 2009-12-19 00:58:54 +00:00
fdl.texi Upgrade manual to GFDLv1.3+. 2010-06-01 00:02:35 +02:00
gds.dia replace ascii figures with scalable ps/pdf versions. 2009-12-17 23:17:59 +00:00
gds.eps replace ascii figures with scalable ps/pdf versions. 2009-12-17 23:17:59 +00:00
gds.pdf replace ascii figures with scalable ps/pdf versions. 2009-12-17 23:17:59 +00:00
gds.txt replace ascii figures with scalable ps/pdf versions. 2009-12-17 23:17:59 +00:00
goops-tutorial.texi Merge tutorial' and reference' treatments of the same basic GOOPS 2010-12-06 22:28:39 +00:00
goops.texi Make notation for Scheme repeated arguments more consistent in manual. 2012-02-04 00:10:13 +01:00
guile-invoke.texi Merge remote-tracking branch 'origin/stable-2.0' 2013-04-14 02:48:33 -04:00
guile.texi Merge remote-tracking branch 'origin/stable-2.0' 2013-03-28 05:09:53 -04:00
hierarchy.dot doc/ref/hierarchy.png: conform to hierarchy.txt and manual 2013-01-15 19:17:55 +01:00
hierarchy.eps doc/ref/hierarchy.png: conform to hierarchy.txt and manual 2013-01-15 19:17:55 +01:00
hierarchy.pdf doc/ref/hierarchy.png: conform to hierarchy.txt and manual 2013-01-15 19:17:55 +01:00
hierarchy.png doc/ref/hierarchy.png: conform to hierarchy.txt and manual 2013-01-15 19:17:55 +01:00
hierarchy.txt Move GOOPS documentation into the main manual 2009-08-03 23:29:45 +01:00
history.texi doc: Set document encoding to UTF-8; typeset my surname correctly. 2011-12-14 22:26:15 +01:00
indices.texi Procedure/macro index includes Autoconf macros 2011-02-13 22:28:25 +00:00
intro.texi excise use of "iff" in the manual 2013-03-10 22:29:18 +01:00
libguile-autoconf.texi manual: reorganize autoconf, pkg-config info 2011-10-12 17:12:29 +02:00
libguile-concepts.texi merge stable-2.0 2013-01-23 16:12:08 +01:00
libguile-extensions.texi @value{EFFECTIVE-VERSION} instead of 2.0 in some places in the manual 2011-02-20 13:16:37 +01:00
libguile-linking.texi manual: reorganize autoconf, pkg-config info 2011-10-12 17:12:29 +02:00
libguile-parallel.texi doc: Document the sitedir' and extensiondir' pkg-config variables. 2011-10-22 16:11:01 +02:00
libguile-program.texi Make the "Dia Primitives" section of the manual more clear. 2011-12-22 09:32:09 -05:00
libguile-smobs.texi documentation recommends scm_new_smob instead of SCM_NEWSMOB 2013-01-22 12:05:32 +01:00
libguile-snarf.texi no need to warn people off of s_FOO generated by SCM_DEFINE 2012-01-08 17:55:01 +01:00
Makefile.am Merge remote-tracking branch 'origin/stable-2.0' 2013-03-28 05:09:53 -04:00
match.texi doc: Strengthen the case for pattern matching. 2012-11-17 16:14:02 +01:00
misc-modules.texi Add full documentation for SRFI-41. 2013-03-27 13:37:45 -04:00
mod-getopt-long.texi rename guile-tools' to guild' 2011-05-31 22:01:47 +02:00
mop.text Move GOOPS documentation into the main manual 2009-08-03 23:29:45 +01:00
new-docstrings.texi Automatic manual updates following libguile docstring changes 2009-12-27 23:24:09 +00:00
posix.texi Merge remote-tracking branch 'origin/stable-2.0' 2013-04-14 02:48:33 -04:00
preface.texi doc: Set document encoding to UTF-8; typeset my surname correctly. 2011-12-14 22:26:15 +01:00
r6rs.texi Cross reference 'SRFI-9 Records' directly instead of 'SRFI-9'. 2013-04-04 03:21:40 -04:00
repl-modules.texi fix documentation for option-set! syntaxen 2011-05-20 11:54:46 +02:00
scheme-ideas.texi Document (ice-9 curried definitions) 2012-09-06 22:15:40 +01:00
scheme-indices.texi
scheme-intro.texi Update and simplify statement about RnRS support 2009-12-18 01:21:55 +00:00
scheme-reading.texi fix urls in docs 2011-11-16 23:21:59 +01:00
scheme-scripts.texi better invocation documentation 2011-06-30 13:19:04 +02:00
scheme-using.texi add %site-ccache-dir 2013-03-10 23:20:22 +01:00
scheme.dia replace ascii figures with scalable ps/pdf versions. 2009-12-17 23:17:59 +00:00
scheme.eps replace ascii figures with scalable ps/pdf versions. 2009-12-17 23:17:59 +00:00
scheme.pdf replace ascii figures with scalable ps/pdf versions. 2009-12-17 23:17:59 +00:00
scheme.txt replace ascii figures with scalable ps/pdf versions. 2009-12-17 23:17:59 +00:00
scsh.texi update scsh doc 2010-08-17 08:48:49 -07:00
slib.texi docs: fix typos in manual, and a couple in code comments. 2011-02-09 22:28:49 +00:00
srfi-modules.texi Merge remote-tracking branch 'origin/stable-2.0' 2013-03-30 22:56:27 -04:00
statprof.texi an end to the generated-documentation experiment 2013-01-16 10:03:44 +01:00
sxml-match.texi begin rewriting SXML docs 2013-01-28 10:52:44 +01:00
sxml.texi excise use of "iff" in the manual 2013-03-10 22:29:18 +01:00
texinfo.texi doc: Rename "Texinfo" node to "Texinfo Processing". 2013-03-04 09:04:16 +01:00
tools.texi doc: Mention the former name of `guild'. 2011-06-08 23:19:37 +02:00
tour.texi doc: Use scm_{to,from}_double instead of old API in example. 2012-09-03 22:35:33 +02:00
vm.texi merge stable-2.0 2013-01-23 16:12:08 +01:00
web.texi minor tweaks to web documentation 2013-03-16 17:53:53 +08:00