summaryrefslogtreecommitdiff
path: root/module/scheme
AgeCommit message (Collapse)AuthorFilesLines
2023-11-02Update set of decimal zeroes for Unicode 15.1.0Andy Wingo1-4/+5
* module/scheme/char.scm (*decimal-zeroes*): Update.
2023-09-29Add test for r7rs string-for-eachDaniel Llorens1-18/+19
* test-suite/tests/r7rs.test: As stated. * module/scheme/base.scm: Reindent and add minimal doc.
2023-09-29Fix (scheme base) string-for-each.Taylan Kammer1-2/+24
* module/scheme/base.scm (r7:string-for-each): New procedure. Fixes <https://bugs.gnu.org/40584>.
2023-07-16r7rs: 'read-u8' now defaults to 'current-input-port'.Ludovic Courtès1-2/+2
Fixes <https://bugs.gnu.org/62690>. Reported by Rui Zhang <zrui16@hotmail.com>. * module/scheme/base.scm (read-u8): Change default value of 'port'.
2021-08-06Add function vector-copy! to coreDaniel Llorens1-15/+2
This is up to 20%-30% faster than the previous versions in (scheme base) or (srfi srfi-43) that used vector-move-left!/vector-move-right!. * libguile/vectors.h: * libguile/vectors.c: As stated. * doc/ref/api-data.texi (vector-copy!): Document the new function. (vector-fill!): Document optional arguments. (vector-copy): Document optional arguments. * module/scheme/base.scm: Reuse core vector-copy!. * module/srfi/srfi-43.scm: Reuse core vector-copy!.
2021-08-06Reuse core vector-fill! in (scheme base)Daniel Llorens1-11/+1
module/scheme/base.scm: As stated.
2021-08-06Extend core vector-copy to r7rs vector-copyDaniel Llorens1-21/+3
* libguile/vectors.h: Declare scm_vector_copy_partial. * libguile/vectors.c (scm_vector_copy_partial): As stated. (scm_vector_copy): Reuse scm_vector_copy_partial. * module/scheme/base.scm: Reuse core vector-copy. * module/srfi/srfi-43: Reuse core vector-copy. * test-suite/tests/vectors.test: Test vector-copy.
2021-01-17(scheme base) member: return #f, not (), for no matchRob Browning1-3/+4
* module/scheme/base.scm (member): Match the r7rs requirement, as assoc already does. Thanks to Erik Dominikus for reporting the problem. Closes: 43304
2021-01-12Close accumulating output ports after useAndy Wingo1-12/+3
* module/ice-9/ports.scm (call-with-port): New procedure, from r7rs. (call-with-input-file, call-with-output-file): Refactor to use call-with-port. (call-with-output-string): Close the string after normal exit. * module/scheme/base.scm (scheme): Re-export call-with-port from base.
2020-01-12Support R7RS define-libraryAndy Wingo1-10/+6
* 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.
2019-11-16Add initial implementation of R7RS modulesAndy Wingo16-0/+1216
* module/Makefile.am (SOURCES): Add new files. * module/scheme/base.scm: * module/scheme/case-lambda.scm: * module/scheme/char.scm: * module/scheme/complex.scm: * module/scheme/cxr.scm: * module/scheme/eval.scm: * module/scheme/file.scm: * module/scheme/inexact.scm: * module/scheme/lazy.scm: * module/scheme/load.scm: * module/scheme/process-context.scm: * module/scheme/r5rs.scm: * module/scheme/read.scm: * module/scheme/repl.scm: * module/scheme/time.scm: * module/scheme/write.scm: New files. Thanks to Göran Weinholt for akku-scm and OKUMURA Yuki for yuni, off of which some of these files were based.