From: Maxim Cournoyer <maxim.cournoyer@gmail.com>
To: guile-devel@gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Subject: [PATCH v7 00/16] Add SRFI 209 and dependencies; improve support for R7RS libraries
Date: Mon, 4 Dec 2023 16:45:05 -0500 [thread overview]
Message-ID: <20231204215143.3146-1-maxim.cournoyer@gmail.com> (raw)
This series add the SRFI 209 enumerators library and its dependencies.
It fixes a few problems that prevented using the corresponding R7RS
upstream libraries as-is on the way.
The new build system changes in v7 resolve a build problem that was made
apparent when building from a pristine checkout.
Changes in v7:
- Register prerequisites for srfi/srfi-126.scm in am/bootstrap.am
- Register prerequisites for srfi/srfi-128.scm in am/bootstrap.am
- Register prerequisites for scheme/comparator.go in am/bootstrap.am
- Register prerequisites for srfi/srfi-125.go in am/bootstrap.am
- Register prerequisites for srfi/srfi-160/*.go in am/bootstrap.am
- Register prerequisites for srfi/srfi-160/*.go in am/bootstrap.am
- Register prerequisites for srfi/srfi-209.go in am/bootstrap.am
Changes in v6:
- Add SRFI 209
Changes in v5:
- Update NEWS
- Generate Texinfo menu entries
Changes in v4:
- Mention Expat license of SRFI 126 in guile.tex copying section
- Fix invalid module references (e.g. (srfi 69) -> (srfi srfi-69))
- Use .sld for srfi-128 library file extension
- Mention Expat license of SRFI 128 in guile.tex copying section
- Add copyright line in srfi-modules.texi
- Mention Expat license of SRFI 125 in guile.tex copying section
- Rename srfi-125.scm to srfi-125.sld and use upstream copy
- Streamline import of (srfi srfi-125)
- Use R7RS 'import' for srfi-125-test.scm
- Mention Expat license of SRFI 151 in guile.tex copying section
- Update copyright line for John Cowan in srfi-modules.texi
- Rename srfi/srfi-151.scm to srfi/srfi-151.sld
Changes in v3:
- Rename SRFI-126 to SRFI 126 in text
- Rename SRFI-128 to SRFI 128 in text
- Replace srfi-128.scm with upstream srfi/128.sld
- Add menu entries.
- Rename SRFI-125 to SRFI 125 in text
- Rename included file to upstream name (125.body.scm)
- Add copyright/license header 125.body.scm
- Add SRFI 151
Changes in v2:
- Remove extraneous (ice-9 hash-table) import
- Rename SRFI-69 to SRFI 69, SRFI-125 to SRFI 125 in text
- Remove string-hash and symbol-hash from exports (they are already
listed in #:rename)
Maxim Cournoyer (15):
ice-9: Fix 'include' when used in compilation contexts.
r7rs-libraries: Add support for 'else' clause in cond-expand.
r7rs-libraries: Better support R7RS SRFI library names.
(scheme base): Support non-negative SRFI integer names in cond-expand.
Share features tested by cond-expand library declarations and
expressions.
build: Register '.sld' as an alternative extension to '.scm'.
module: Add SRFI 126.
module: Add SRFI 128.
module: Add (scheme comparator).
module: Add (scheme sort).
module: Add SRFI 125.
module: Add SRFI 151.
module: Add SRFI 160.
module: Add SRFI 178.
module: Add SRFI 209.
Timothy Sample (1):
Use R7RS 'rename' syntax for exports.
.gitignore | 1 +
NEWS | 20 +
am/bootstrap.am | 91 +-
configure.ac | 7 +-
doc/ref/guile.texi | 25 +-
doc/ref/srfi-modules.texi | 5347 ++++++++++++++++-
libguile/fports.c | 41 +-
module/ice-9/boot-9.scm | 123 +-
module/ice-9/endianness.scm.in | 1 +
module/ice-9/psyntax.scm | 8 +-
module/ice-9/r6rs-libraries.scm | 88 +-
module/ice-9/r7rs-libraries.scm | 68 +-
module/scheme/base.scm | 15 +-
module/scheme/comparator.sld | 33 +
module/scheme/features.scm | 44 +
module/scheme/sort.sld | 21 +
module/srfi/srfi-125.sld | 96 +
module/srfi/srfi-125/125.body.scm | 589 ++
module/srfi/srfi-126.scm | 396 ++
module/srfi/srfi-128.sld | 61 +
module/srfi/srfi-128/128.body1.scm | 361 ++
module/srfi/srfi-128/128.body2.scm | 146 +
module/srfi/srfi-151.sld | 56 +
module/srfi/srfi-151/bitwise-33.scm | 108 +
module/srfi/srfi-151/bitwise-60.scm | 70 +
module/srfi/srfi-151/bitwise-other.scm | 62 +
module/srfi/srfi-160/base.sld | 67 +
.../srfi/srfi-160/base/c128-vector2list.scm | 18 +
module/srfi/srfi-160/base/c64-vector2list.scm | 18 +
module/srfi/srfi-160/base/complex.scm | 111 +
module/srfi/srfi-160/base/f32-vector2list.scm | 18 +
module/srfi/srfi-160/base/f64-vector2list.scm | 18 +
module/srfi/srfi-160/base/r7rec.scm | 11 +
module/srfi/srfi-160/base/s16-vector2list.scm | 18 +
module/srfi/srfi-160/base/s32-vector2list.scm | 18 +
module/srfi/srfi-160/base/s64-vector2list.scm | 18 +
module/srfi/srfi-160/base/s8-vector2list.scm | 18 +
module/srfi/srfi-160/base/u16-vector2list.scm | 18 +
module/srfi/srfi-160/base/u32-vector2list.scm | 18 +
module/srfi/srfi-160/base/u64-vector2list.scm | 18 +
module/srfi/srfi-160/base/u8-vector2list.scm | 18 +
module/srfi/srfi-160/base/valid.scm | 26 +
module/srfi/srfi-160/c128-impl.scm | 600 ++
module/srfi/srfi-160/c128.sld | 48 +
module/srfi/srfi-160/c64-impl.scm | 600 ++
module/srfi/srfi-160/c64.sld | 48 +
module/srfi/srfi-160/f32-impl.scm | 600 ++
module/srfi/srfi-160/f32.sld | 48 +
module/srfi/srfi-160/f64-impl.scm | 600 ++
module/srfi/srfi-160/f64.sld | 48 +
module/srfi/srfi-160/s16-impl.scm | 600 ++
module/srfi/srfi-160/s16.sld | 48 +
module/srfi/srfi-160/s32-impl.scm | 600 ++
module/srfi/srfi-160/s32.sld | 48 +
module/srfi/srfi-160/s64-impl.scm | 600 ++
module/srfi/srfi-160/s64.sld | 48 +
module/srfi/srfi-160/s8-impl.scm | 600 ++
module/srfi/srfi-160/s8.sld | 48 +
module/srfi/srfi-160/u16-impl.scm | 600 ++
module/srfi/srfi-160/u16.sld | 48 +
module/srfi/srfi-160/u32-impl.scm | 600 ++
module/srfi/srfi-160/u32.sld | 48 +
module/srfi/srfi-160/u64-impl.scm | 600 ++
module/srfi/srfi-160/u64.sld | 48 +
module/srfi/srfi-160/u8-impl.scm | 600 ++
module/srfi/srfi-160/u8.sld | 48 +
module/srfi/srfi-178.sld | 105 +
module/srfi/srfi-178/convert.scm | 83 +
module/srfi/srfi-178/fields.scm | 88 +
module/srfi/srfi-178/gen-acc.scm | 25 +
module/srfi/srfi-178/logic-ops.scm | 105 +
module/srfi/srfi-178/macros.scm | 26 +
module/srfi/srfi-178/map2list.scm | 27 +
module/srfi/srfi-178/quasi-ints.scm | 54 +
module/srfi/srfi-178/quasi-strs.scm | 88 +
module/srfi/srfi-178/unfolds.scm | 44 +
module/srfi/srfi-178/wrappers.scm | 285 +
module/srfi/srfi-209.sld | 60 +
module/srfi/srfi-209/209.scm | 690 +++
test-suite/Makefile.am | 25 +
test-suite/tests/r7rs-cond-expand.test | 35 +
test-suite/tests/rnrs-libraries.test | 12 +-
test-suite/tests/srfi-125-test.scm | 890 +++
test-suite/tests/srfi-125.test | 45 +
test-suite/tests/srfi-126-test.scm | 289 +
test-suite/tests/srfi-126.test | 49 +
test-suite/tests/srfi-128-test.scm | 321 +
test-suite/tests/srfi-128.test | 47 +
test-suite/tests/srfi-151-test.scm | 381 ++
test-suite/tests/srfi-151.test | 46 +
test-suite/tests/srfi-160-base-test.scm | 167 +
test-suite/tests/srfi-160-base.test | 47 +
test-suite/tests/srfi-160-test.scm | 262 +
test-suite/tests/srfi-160.test | 48 +
.../tests/srfi-178-test/constructors.scm | 88 +
.../tests/srfi-178-test/conversions.scm | 108 +
test-suite/tests/srfi-178-test/fields.scm | 98 +
test-suite/tests/srfi-178-test/gen-accum.scm | 72 +
test-suite/tests/srfi-178-test/iterators.scm | 150 +
test-suite/tests/srfi-178-test/logic-ops.scm | 125 +
test-suite/tests/srfi-178-test/mutators.scm | 79 +
test-suite/tests/srfi-178-test/quasi-ints.scm | 41 +
.../tests/srfi-178-test/quasi-string.scm | 62 +
test-suite/tests/srfi-178-test/selectors.scm | 13 +
test-suite/tests/srfi-178.test | 147 +
test-suite/tests/srfi-209-test.scm | 465 ++
test-suite/tests/srfi-209.test | 50 +
107 files changed, 21479 insertions(+), 448 deletions(-)
create mode 100644 module/ice-9/endianness.scm.in
create mode 100644 module/scheme/comparator.sld
create mode 100644 module/scheme/features.scm
create mode 100644 module/scheme/sort.sld
create mode 100644 module/srfi/srfi-125.sld
create mode 100644 module/srfi/srfi-125/125.body.scm
create mode 100644 module/srfi/srfi-126.scm
create mode 100644 module/srfi/srfi-128.sld
create mode 100644 module/srfi/srfi-128/128.body1.scm
create mode 100644 module/srfi/srfi-128/128.body2.scm
create mode 100644 module/srfi/srfi-151.sld
create mode 100644 module/srfi/srfi-151/bitwise-33.scm
create mode 100644 module/srfi/srfi-151/bitwise-60.scm
create mode 100644 module/srfi/srfi-151/bitwise-other.scm
create mode 100644 module/srfi/srfi-160/base.sld
create mode 100644 module/srfi/srfi-160/base/c128-vector2list.scm
create mode 100644 module/srfi/srfi-160/base/c64-vector2list.scm
create mode 100644 module/srfi/srfi-160/base/complex.scm
create mode 100644 module/srfi/srfi-160/base/f32-vector2list.scm
create mode 100644 module/srfi/srfi-160/base/f64-vector2list.scm
create mode 100644 module/srfi/srfi-160/base/r7rec.scm
create mode 100644 module/srfi/srfi-160/base/s16-vector2list.scm
create mode 100644 module/srfi/srfi-160/base/s32-vector2list.scm
create mode 100644 module/srfi/srfi-160/base/s64-vector2list.scm
create mode 100644 module/srfi/srfi-160/base/s8-vector2list.scm
create mode 100644 module/srfi/srfi-160/base/u16-vector2list.scm
create mode 100644 module/srfi/srfi-160/base/u32-vector2list.scm
create mode 100644 module/srfi/srfi-160/base/u64-vector2list.scm
create mode 100644 module/srfi/srfi-160/base/u8-vector2list.scm
create mode 100644 module/srfi/srfi-160/base/valid.scm
create mode 100644 module/srfi/srfi-160/c128-impl.scm
create mode 100644 module/srfi/srfi-160/c128.sld
create mode 100644 module/srfi/srfi-160/c64-impl.scm
create mode 100644 module/srfi/srfi-160/c64.sld
create mode 100644 module/srfi/srfi-160/f32-impl.scm
create mode 100644 module/srfi/srfi-160/f32.sld
create mode 100644 module/srfi/srfi-160/f64-impl.scm
create mode 100644 module/srfi/srfi-160/f64.sld
create mode 100644 module/srfi/srfi-160/s16-impl.scm
create mode 100644 module/srfi/srfi-160/s16.sld
create mode 100644 module/srfi/srfi-160/s32-impl.scm
create mode 100644 module/srfi/srfi-160/s32.sld
create mode 100644 module/srfi/srfi-160/s64-impl.scm
create mode 100644 module/srfi/srfi-160/s64.sld
create mode 100644 module/srfi/srfi-160/s8-impl.scm
create mode 100644 module/srfi/srfi-160/s8.sld
create mode 100644 module/srfi/srfi-160/u16-impl.scm
create mode 100644 module/srfi/srfi-160/u16.sld
create mode 100644 module/srfi/srfi-160/u32-impl.scm
create mode 100644 module/srfi/srfi-160/u32.sld
create mode 100644 module/srfi/srfi-160/u64-impl.scm
create mode 100644 module/srfi/srfi-160/u64.sld
create mode 100644 module/srfi/srfi-160/u8-impl.scm
create mode 100644 module/srfi/srfi-160/u8.sld
create mode 100644 module/srfi/srfi-178.sld
create mode 100644 module/srfi/srfi-178/convert.scm
create mode 100644 module/srfi/srfi-178/fields.scm
create mode 100644 module/srfi/srfi-178/gen-acc.scm
create mode 100644 module/srfi/srfi-178/logic-ops.scm
create mode 100644 module/srfi/srfi-178/macros.scm
create mode 100644 module/srfi/srfi-178/map2list.scm
create mode 100644 module/srfi/srfi-178/quasi-ints.scm
create mode 100644 module/srfi/srfi-178/quasi-strs.scm
create mode 100644 module/srfi/srfi-178/unfolds.scm
create mode 100644 module/srfi/srfi-178/wrappers.scm
create mode 100644 module/srfi/srfi-209.sld
create mode 100644 module/srfi/srfi-209/209.scm
create mode 100644 test-suite/tests/r7rs-cond-expand.test
create mode 100644 test-suite/tests/srfi-125-test.scm
create mode 100644 test-suite/tests/srfi-125.test
create mode 100644 test-suite/tests/srfi-126-test.scm
create mode 100644 test-suite/tests/srfi-126.test
create mode 100644 test-suite/tests/srfi-128-test.scm
create mode 100644 test-suite/tests/srfi-128.test
create mode 100644 test-suite/tests/srfi-151-test.scm
create mode 100644 test-suite/tests/srfi-151.test
create mode 100644 test-suite/tests/srfi-160-base-test.scm
create mode 100644 test-suite/tests/srfi-160-base.test
create mode 100644 test-suite/tests/srfi-160-test.scm
create mode 100644 test-suite/tests/srfi-160.test
create mode 100644 test-suite/tests/srfi-178-test/constructors.scm
create mode 100644 test-suite/tests/srfi-178-test/conversions.scm
create mode 100644 test-suite/tests/srfi-178-test/fields.scm
create mode 100644 test-suite/tests/srfi-178-test/gen-accum.scm
create mode 100644 test-suite/tests/srfi-178-test/iterators.scm
create mode 100644 test-suite/tests/srfi-178-test/logic-ops.scm
create mode 100644 test-suite/tests/srfi-178-test/mutators.scm
create mode 100644 test-suite/tests/srfi-178-test/quasi-ints.scm
create mode 100644 test-suite/tests/srfi-178-test/quasi-string.scm
create mode 100644 test-suite/tests/srfi-178-test/selectors.scm
create mode 100644 test-suite/tests/srfi-178.test
create mode 100644 test-suite/tests/srfi-209-test.scm
create mode 100644 test-suite/tests/srfi-209.test
base-commit: d8df317bafcdd9fcfebb636433c4871f2fab28b2
--
2.41.0
next reply other threads:[~2023-12-04 21:45 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-12-04 21:45 Maxim Cournoyer [this message]
2023-12-04 21:45 ` [PATCH v7 01/16] ice-9: Fix 'include' when used in compilation contexts Maxim Cournoyer
2023-12-04 21:45 ` [PATCH v7 02/16] Use R7RS 'rename' syntax for exports Maxim Cournoyer
2023-12-04 21:45 ` [PATCH v7 03/16] r7rs-libraries: Add support for 'else' clause in cond-expand Maxim Cournoyer
2023-12-04 21:45 ` [PATCH v7 04/16] r7rs-libraries: Better support R7RS SRFI library names Maxim Cournoyer
2023-12-04 21:45 ` [PATCH v7 05/16] (scheme base): Support non-negative SRFI integer names in cond-expand Maxim Cournoyer
2023-12-04 21:45 ` [PATCH v7 06/16] Share features tested by cond-expand library declarations and expressions Maxim Cournoyer
2023-12-04 21:45 ` [PATCH v7 07/16] build: Register '.sld' as an alternative extension to '.scm' Maxim Cournoyer
2023-12-04 21:45 ` [PATCH v7 08/16] module: Add SRFI 126 Maxim Cournoyer
2023-12-04 21:45 ` [PATCH v7 09/16] module: Add SRFI 128 Maxim Cournoyer
2023-12-04 21:45 ` [PATCH v7 10/16] module: Add (scheme comparator) Maxim Cournoyer
2023-12-04 21:45 ` [PATCH v7 11/16] module: Add (scheme sort) Maxim Cournoyer
2023-12-04 21:45 ` [PATCH v7 12/16] module: Add SRFI 125 Maxim Cournoyer
2023-12-04 21:45 ` [PATCH v7 13/16] module: Add SRFI 151 Maxim Cournoyer
2023-12-04 21:45 ` [PATCH v7 14/16] module: Add SRFI 160 Maxim Cournoyer
2023-12-04 21:45 ` [PATCH v7 15/16] module: Add SRFI 178 Maxim Cournoyer
2023-12-04 21:45 ` [PATCH v7 16/16] module: Add SRFI 209 Maxim Cournoyer
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/guile/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20231204215143.3146-1-maxim.cournoyer@gmail.com \
--to=maxim.cournoyer@gmail.com \
--cc=guile-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).