unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
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




             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).