1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-07-05 01:00:21 +02:00
Commit graph

994 commits

Author SHA1 Message Date
Andy Wingo
8110061e64 bitvector-set-bit! / bitvector-clear-bit! replace bitvector-set!
* NEWS: Add entry.
* doc/ref/api-data.texi (Bit Vectors): Update.
* libguile/array-handle.h (bitvector_set_x, scm_array_get_handle): Adapt
  to bitvector changes.
* libguile/bitvectors.h:
* libguile/bitvectors.c (scm_c_bitvector_set_bit_x)
  (scm_c_bitvector_clear_bit_x): New functions.
* libguile/deprecated.h:
* libguile/deprecated.c (scm_bitvector_set_x): Deprecate.
* module/ice-9/sandbox.scm (mutable-bitvector-bindings): Replace
  bitvector-set! with bitvector-set-bit! / bitvector-clear-bit!.
* module/system/vm/disassembler.scm (static-opcode-set): Use
  bitvector-set-bit!.
* module/system/vm/frame.scm (compute-defs-by-slot, available-bindings):
  Use bitvector-set-bit!.
* test-suite/tests/bitvectors.test: Update.
2020-04-14 22:40:43 +02:00
Andy Wingo
d804177be4 bitvector-bit-set? / bitvector-bit-clear? replace bitvector-ref
This is an opportunity to make a new interface that can be more
efficient in 3.0 (because no generic array support), easier to read (no
need for 'not'), and more consistent with other bitvector interfaces.

* NEWS: Add entry.
* doc/ref/api-data.texi (Bit Vectors): Update.
* libguile/array-handle.h (bitvector_ref, scm_array_get_handle): Adapt
  to bitvector changes.
* libguile/bitvectors.h:
* libguile/bitvectors.c (scm_c_bitvector_bit_is_set)
  (scm_c_bitvector_bit_is_clear): New functions.
* libguile/deprecated.h:
* libguile/deprecated.c (scm_bitvector_ref): Deprecate.
* module/ice-9/sandbox.scm (bitvector-bindings): Replace
  bitvector-ref with bitvector-bit-set? / bitvector-bit-clear?.
* module/system/vm/disassembler.scm (instruction-has-fallthrough): Use
  bitvector-bit-clear?.
* test-suite/tests/bitvectors.test: Update.
2020-04-14 22:18:02 +02:00
Andy Wingo
ff9979b6bc Replace bit-set*! with bitvector-set-bits! / bitvector-clear-bits!
The old name was wonky and hard to read: you almost always pass a
literal as the value to set, so better to make separate functions.

* NEWS: Add entry.
* doc/ref/api-data.texi (Bit Vectors): Update.
* libguile/bitvectors.h:
* libguile/bitvectors.c (scm_bitvector_set_bits_x)
  (scm_bitvector_clear_bits_x): New functions.
* libguile/deprecated.h:
* libguile/deprecated.c (scm_bit_set_star_x): Deprecate.
* module/ice-9/sandbox.scm (mutable-bitvector-bindings): Replace
  bit-set*! with bitvector-set-bits! / bitvector-clear-bits!.
* module/system/vm/frame.scm (available-bindings, compute-killv): Use
  bitvector-set-bits! and bitvector-clear-bits!.
* test-suite/tests/bitvectors.test: Update.
2020-04-13 22:06:56 +02:00
Andy Wingo
06709d77b9 Replace bit-position with bitvector-position
The old name was wonky and had bad argument order.

* NEWS: Add entry.
* doc/ref/api-data.texi (Bit Vectors): Update.
* libguile/bitvectors.h:
* libguile/bitvectors.c (scm_bitvector_position): New function.
* libguile/deprecated.h:
* libguile/deprecated.c (scm_bit_position): Deprecate.
* module/ice-9/sandbox.scm (bitvector-bindings): Replace bit-position
  with bitvector-position.
* module/language/cps/intset.scm (bitvector->intset): Use
  bitvector-position.
* module/system/vm/frame.scm (available-bindings): Use
  bitvector-position.
* test-suite/tests/bitvectors.test ("bitvector-position"): Add test.
2020-04-12 22:39:55 +02:00
Andy Wingo
cae74359de Replace bit-count with bitvector-count
The old name was wonky and had bad argument order.

* NEWS: Add entry.
* doc/ref/api-data.texi (Bit Vectors): Update.
* libguile/bitvectors.h:
* libguile/bitvectors.c (VALIDATE_BITVECTOR): New helper.
  (scm_bitvector_count): New function.
* libguile/deprecated.h:
* libguile/deprecated.c (scm_bit_count): Deprecate.
* module/ice-9/sandbox.scm (bitvector-bindings): Replace bit-count with
  bitvector-count.
* module/srfi/srfi-60.scm: No need to #:replace bit-count.
* module/system/vm/frame.scm (available-bindings): Use bitvector-count.
* test-suite/tests/bitvectors.test ("bitvector-count"): Add test.
2020-04-12 22:17:22 +02:00
Andy Wingo
24a34074ef Deprecate bitvector-ref on array slices
* NEWS: Update.
* doc/ref/api-data.texi (Bit Vectors): Update documentation on bit-set*!
  and bit-count*.
* libguile/bitvectors.c: Add a to-do list.
  (scm_c_bitvector_ref, scm_c_bitvector_set_x, scm_bitvector_fill_x)
  (scm_bitvector_to_list, scm_bit_count, scm_bit_position):
  Issue deprecation warnings when used on array slices.
  (scm_list_to_bitvector): Simplify.
  (scm_bit_set_star_x, scm_bit_count_star): Deprecate arrays as target
  bitvectors, and also use of u32vector as selection vector.
* libguile/bitvectors.h:
* libguile/deprecated.h:
* libguile/deprecated.c (scm_istr2bve): Deprecate.
* test-suite/tests/bitvectors.test ("bit-count*"): Remove test of u32
  selectors.
2020-04-12 21:36:30 +02:00
Ludovic Courtès
815dab400b Update NEWS.
* NEWS: Update.
2020-03-27 14:54:40 +01:00
Ludovic Courtès
d18bcf4ea8 Update NEWS.
* NEWS: Update.
2020-03-08 15:57:14 +01:00
Ludovic Courtès
fb052c4bda Update NEWS.
* NEWS: Update.
2020-03-07 16:56:34 +01:00
Ludovic Courtès
cacf690d91 Update NEWS.
* NEWS: Update.
2020-03-07 16:03:44 +01:00
Andy Wingo
dfa4e98432 Update NEWS
* NEWS: Fold incremental alpha entries into a cumulative 3.0.0 entry.
2020-01-13 20:30:00 +01:00
Ludovic Courtès
10fdd88cb8 Update NEWS.
* NEWS (Changes in alpha 2.9.x): Add (web client) news.
2020-01-13 11:21:09 +01:00
Andy Wingo
287d513ef1 Bump manual year, and fix NEWS typo
* NEWS: Fix a typo.
* doc/ref/guile.texi: Bump copyright year.
2020-01-13 09:52:01 +01:00
Andy Wingo
7726ed7423 Update NEWS
* NEWS: Update.
2020-01-12 22:08:49 +01:00
Andy Wingo
86a9f9a271 Optionally allow duplicate field names in core records
* NEWS: Update.
* doc/ref/api-data.texi (Records): Update docs.
* module/ice-9/boot-9.scm (make-record-type): Add
  #:allow-duplicate-field-names? keyword argument.
  (record-accessor, record-modifier): Allow passing indexes to identify
  fields.
* module/rnrs/records/procedural.scm (make-record-type-descriptor):
  Allow duplicate field names.  Fixes #38611.
2020-01-12 21:51:22 +01:00
Andy Wingo
fd2ffc649c Support R7RS define-library
* module/Makefile.am (ice-9/boot-9.go, NOCOMP_SOURCES): Add
  r7rs-libraries.
* module/ice-9/boot-9.scm ("ice-9/r7rs-libraries"): Include file.
* module/ice-9/psyntax.scm (call-with-include-port): New definition.
  (include): Use call-with-include-port.
* module/ice-9/psyntax-pp.scm: Regenerate.
* module/ice-9/r7rs-libraries.scm: New file.
* module/scheme/base.scm (r7:include, r7:include-ci): Fix mistaken use
  of core "include".  Use include-ci from core.
  (features): Remove features that are already part of core.
* NEWS: Update.
2020-01-12 20:31:47 +01:00
Andy Wingo
639d0b3768 Add NEWS entries
* NEWS: Add a couple entries.
2020-01-11 11:51:38 +01:00
Andy Wingo
640eb5d1b3 Update NEWS with details on guard and autoloads.
* NEWS: Update.
2020-01-10 22:09:17 +01:00
Daniel Llorens
ddad8ae05a Extend core vector-fill! to handle a range
With this patch, these two lines

  (vector-fill! vec fill)
  (vector-fill! vec fill 0 end)

run at the same speed; before, the second one was much slower.

This patch also makes it an error to call vector-fill! with a non-vector
array. The previous implementation did not work correctly in this case.

* libguile/vectors.c (SCM_VALIDATE_MUTABLE_VECTOR): Better error message.
  (vector-fill!): Handle optional arguments start, end. Do not attempt
    to handle non-vector arrays. Rename the C binding to
    scm_vector_fill_partial_x.
  (scm_vector_fill_x): Reuse scm_vector_fill_partial_x.
* module/srfi/srfi-43.scm (vector-fill!): Remove & re-export the core
  version instead.
2020-01-03 13:01:04 +01:00
Andy Wingo
532614139f Update NEWS
* NEWS: Update for 2.9.8.
2020-01-02 13:55:00 +01:00
Andy Wingo
4b34e11476 GNU Guile 2.9.7.
* GUILE-VERSION (GUILE_MICRO_VERSION): Bump.
* NEWS: Update.
2019-12-13 13:57:04 +01:00
Andy Wingo
cf693d862d Update NEWS
* NEWS: Fold 2.9.6 NEWS into 3.0 NEWS.  Add NEWS for 2.9.7.
2019-12-11 22:01:57 +01:00
Daniel Llorens
2b6083865a Single definition of (iota)
* module/ice-9/boot-9.scm (iota): Fix to be SRFI-1 compatible.
* module/srfi/srfi-1.scm: Re-export iota.
2019-12-06 14:14:30 +01:00
Andy Wingo
4a168cddcd Update NEWS for Guile 2.9.6
* NEWS: Update, folding in old NEWS entries.
2019-12-06 11:29:15 +01:00
Andy Wingo
2346a540c0 Add NEWS for R7RS
* NEWS: Support R7RS.
2019-11-17 15:48:43 +01:00
Andy Wingo
4b2c512b94 Update NEWS for records and exceptions work
* NEWS: Update.
* doc/ref/api-data.texi (Records): Fix a typo.
2019-11-14 21:37:00 +01:00
Andy Wingo
15bef73647 Add --r6rs NEWS
* NEWS: Add --r6rs news.
2019-09-25 22:10:57 +02:00
Andy Wingo
8fd7914f35 Update NEWS for 2.9.5
* NEWS: Update.
2019-09-19 15:43:01 +02:00
Andy Wingo
d2bf01b0c9 Further NEWS tweaks
* NEWS: Clarify wording.
2019-08-25 21:16:50 +02:00
Andy Wingo
5284b9b9c6 Update documentation for mixed definitions and expressions
* NEWS: Update.
* doc/ref/api-binding.texi (Internal Definitions): Update to mention
  that mixed definitions and expressions are allowed.
* doc/ref/scheme-ideas.texi (Creating a Procedure):
  (Lambda Alternatives): Update documentation to avoid implying that
  bodies are only expressions.
2019-08-25 17:05:38 +02:00
Andy Wingo
dab19652f7 Update NEWS.
* NEWS: Update.
2019-08-13 14:04:03 +02:00
Andy Wingo
175acd700c Merge from stable-2.2 2019-08-02 15:35:39 +02:00
Andy Wingo
d60b957b1f Merge from stable-2.2 2019-08-02 15:23:36 +02:00
Andy Wingo
cbacc7782b Update NEWS for 2.9.3
* NEWS: Update.
2019-07-29 10:49:39 +02:00
Ludovic Courtès
5f522e11ca Update NEWS.
* NEWS: Update.
2019-06-30 22:00:20 +02:00
Mark H Weaver
6263d0350b NEWS: Add information to remaining news items.
* NEWS: Update.
2019-06-18 22:23:26 -04:00
Mark H Weaver
4e5b31cd7a NEWS: Fix typo.
* NEWS: Fix typo.
2019-06-18 16:08:36 -04:00
Mark H Weaver
c10b6a3f34 NEWS: More tweaks.
* NEWS: Update.
2019-06-18 15:57:11 -04:00
Mark H Weaver
8e2919b952 NEWS: Add more details.
* NEWS: Update text.
2019-06-18 15:46:43 -04:00
Mark H Weaver
c5c9ec9b1b NEWS: Add more text.
* NEWS: Update.
2019-06-18 14:04:03 -04:00
Mark H Weaver
cbc37f296e NEWS: Add first draft of 2.2.5 changes.
* NEWS: Add draft updates.
2019-06-18 11:53:06 -04:00
Andy Wingo
9ffda1ce61 Update NEWS
* NEWS: Add 2.9.2 information.
2019-05-23 09:34:54 +02:00
Andy Wingo
2b4999b8bb Bump prerelease version numbering to 2.9.x
* GUILE-VERSION (GUILE_MINOR_VERSION): Bump to 9.
* NEWS: Update expected version numbers.
* configure.ac: Update pattern.
2018-10-10 10:11:26 +02:00
Andy Wingo
4aa4a6d590 Only enable JIT by default on x86-64
* acinclude.m4: Disable JIT by default on not-x86-64.  Although I got
  JIT mostly working on 32-bit x86, I got nondeterministic segfaults
  deep in lightning, on that platform; perhaps indicating a bug in the
  optimizer.  After a day of poking and not solving the problem, I think
  that I don't want the complexity of Lightning's node representation,
  especially on platforms that get less testing.  In the future we'll
  use the lightning backends without the node layer.
* NEWS: Update.
2018-10-10 10:02:55 +02:00
Andy Wingo
d08f2c1166 Update NEWS
* NEWS: Update.
2018-10-07 15:02:08 +02:00
Ludovic Courtès
8abd1c286c Update NEWS.
* NEWS: Update.
2018-08-07 12:32:25 +02:00
Christopher Allan Webber
26fc11a2ae Add SRFI 71: Extended LET-syntax for multiple values.
* module/srfi/srfi-71.scm: New file.
* module/srfi/Makefile.am: Add it.
* doc/ref/srfi-modules.texi: Document it.
* NEWS: Update.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2018-08-07 12:08:56 +02:00
Andy Wingo
94c3a7fb63 Update NEWS for 2.2.3
* NEWS: Update.
2018-08-07 11:32:32 +02:00
Ludovic Courtès
fbbab31c8b Update NEWS.
* NEWS: Update.
2018-07-01 23:33:46 +02:00
Christopher Allan Webber
eb90831ce8 Add SRFI 71: Extended LET-syntax for multiple values.
* module/srfi/srfi-71.scm: New file.
* module/srfi/Makefile.am: Add it.
* doc/ref/srfi-modules.texi: Document it.
* NEWS: Update.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2018-06-18 14:14:47 +02:00