1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-04-29 19:30:36 +02:00
guile/doc
Tomas Volf 1c093d8bc4
doc: Recommend alist-copy instead of list-copy.
The current recommendation of `list-copy' is not right and does not lead
to preserving the original list:

    scheme@(guile-user)> (define x (list (cons 'a 1) (cons 'b 2)))
    scheme@(guile-user)> (define y (list-copy x))
    scheme@(guile-user)> (assq-set! y 'b 3)
    $1 = ((a . 1) (b . 3))
    scheme@(guile-user)> x
    $2 = ((a . 1) (b . 3))

Correct approach seems to be use `alist-copy' from SRFI-1 leading to the
expected behavior of:

    scheme@(guile-user)> ,use (srfi srfi-1)
    scheme@(guile-user)> (define x (list (cons 'a 1) (cons 'b 2)))
    scheme@(guile-user)> (define y (alist-copy x))
    scheme@(guile-user)> (assq-set! y 'b 3)
    $1 = ((a . 1) (b . 3))
    scheme@(guile-user)> x
    $2 = ((a . 1) (b . 2))

* doc/ref/api-data.texi (Adding or Setting Alist Entries): Recommend
`alist-copy'.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-10-26 19:45:11 +02:00
..
r5rs Revert recent change to r5rs.texi 2023-08-17 14:37:30 +02:00
ref doc: Recommend alist-copy instead of list-copy. 2024-10-26 19:45:11 +02:00
.gitignore More `.gitignore'. 2008-04-07 23:48:48 +02:00
BUGS Move doc files into guile-core distribution (6) 2001-03-09 09:20:46 +00:00
ChangeLog-2008 Rename ChangeLog' files to ChangeLog-2008'. 2008-09-12 21:49:58 +02:00
ChangeLog-guile-doc Move doc files into guile-core distribution (6) 2001-03-09 09:20:46 +00:00
gendocs_template Update Gnulib to v0.1-5703-g356a414e8c and add 'posix_spawn' module. 2023-01-18 22:50:18 +01:00
gendocs_template_min Update Gnulib to v0.1-5703-g356a414e8c and add 'posix_spawn' module. 2023-01-18 22:50:18 +01:00
goops.mail
groupings.alist Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
guile-api.alist Remove traces of 'scm_memory_error'. 2020-02-10 00:10:10 +01:00
guile.1 Update effective version to 3.0 2017-05-22 14:15:40 +02:00
hacks.el
Makefile.am Remove doc/example-smob/ 2014-04-28 17:46:59 +02:00
NEWS merge from 1.8 branch 2006-04-16 23:18:55 +00:00
README Remove doc/example-smob/ 2014-04-28 17:46:59 +02:00
recipe-guidelines.txt * Added recipe-guidelines.txt. 2001-04-20 11:20:06 +00:00
release.org Update release.org 2020-01-15 21:15:47 +01:00
texinfo.tex autotooling, version bump to 0.7 2008-05-20 12:10:18 +02:00
THANKS * Grammar fix. 2001-06-27 18:12:46 +00:00
use-cases.fig Created a usecase diagram for Guile. 2001-05-24 08:46:50 +00:00
use-cases.txt Created a usecase diagram for Guile. 2001-05-24 08:46:50 +00:00

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 `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/.