1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-04-30 03:40:34 +02:00
guile/module/srfi
Ludovic Courtès 0360843ace srfi-1: Rewrite 'find' in Scheme.
This halves the wall-clock time of:

  guile -c '(use-modules (srfi srfi-1)) (define lst (make-list 100000000 1)) (find zero? lst)'

and yields an 18% speedup on:

  guile -c '(use-modules (srfi srfi-1)) (define lst (make-list 100000000 1)) (find (lambda (x) (= 2 x)) lst)'

* libguile/srfi-1.c (scm_srfi1_find): Remove.
* libguile/srfi-1.h (scm_srfi1_find): Likewise.
* module/srfi/srfi-1.scm (find): New procedure.
* doc/ref/srfi-modules.texi (SRFI-1 Searching): Adjust docstring.
2020-06-17 17:25:23 +02:00
..
srfi-4 (srfi srfi-4 gnu) uses private define-bytevector-type from (srfi srfi-4) 2014-02-07 18:00:04 +01:00
srfi-9 doc: Fix typo in `set-record-type-printer!' doc. 2012-11-17 15:34:49 +01:00
srfi-42 Add implementation of SRFI 42 2010-10-03 12:09:50 +02:00
srfi-64 Implement SRFI-64 - A Scheme API for test suites. 2014-02-01 01:19:55 -05:00
srfi-67 fix srfi-67 compilation 2011-09-02 19:49:26 +02:00
srfi-171 Add SRFI-171 to guile 2020-03-25 22:44:27 +01:00
srfi-1.scm srfi-1: Rewrite 'find' in Scheme. 2020-06-17 17:25:23 +02:00
srfi-2.scm Complete changing license to LGPLv3+ 2009-06-17 22:30:26 +01:00
srfi-4.scm Remove private unused duplicate c32/c64vector definitions 2014-02-07 17:57:30 +01:00
srfi-6.scm String ports use UTF-8; ignore %default-port-encoding. 2013-08-07 01:22:22 -04:00
srfi-8.scm Complete changing license to LGPLv3+ 2009-06-17 22:30:26 +01:00
srfi-9.scm SRFI-9 uses make-record-type 2019-10-23 12:04:58 +02:00
srfi-10.scm Deprecate passing a non-zero size to make-module 2019-09-27 22:57:38 +02:00
srfi-11.scm srfi-11: Do not expose variables to later clauses 2020-01-12 22:18:41 +01:00
srfi-13.scm Complete changing license to LGPLv3+ 2009-06-17 22:30:26 +01:00
srfi-14.scm Complete changing license to LGPLv3+ 2009-06-17 22:30:26 +01:00
srfi-16.scm Add srfi-16 and srfi-30 to %cond-expand-features. 2014-01-14 02:19:52 -05:00
srfi-17.scm Complete changing license to LGPLv3+ 2009-06-17 22:30:26 +01:00
srfi-18.scm Associate #:replace info with modules, not variables 2019-11-29 11:51:29 +01:00
srfi-19.scm SRFI-19: Rename 'tai-epoch-in-jd' to 'utc-epoch-in-jd'. 2019-06-18 05:15:07 -04:00
srfi-26.scm Get rid of `define-macro' in the SRFI 26 implementation 2010-12-07 23:13:55 +01:00
srfi-27.scm Add missing 'cond-expand' feature identifiers; remove srfi-6 from core list. 2013-03-21 12:50:04 -04:00
srfi-28.scm Implement SRFI 28: Basic Format Strings. 2014-12-02 11:49:05 -05:00
srfi-31.scm Add missing 'cond-expand' feature identifiers; remove srfi-6 from core list. 2013-03-21 12:50:04 -04:00
srfi-34.scm Re-implement `guard' 2020-01-10 21:42:26 +01:00
srfi-35.scm srfi-35: Generate a unique binding for the constructor. 2019-12-14 23:56:12 +01:00
srfi-37.scm SRFI-37: Account for zero-length arguments. 2017-04-20 10:58:54 +02:00
srfi-38.scm Add missing 'cond-expand' feature identifiers; remove srfi-6 from core list. 2013-03-21 12:50:04 -04:00
srfi-39.scm Add missing 'cond-expand' feature identifiers; remove srfi-6 from core list. 2013-03-21 12:50:04 -04:00
srfi-41.scm Add record type printer for srfi-41. 2013-04-07 12:44:31 -04:00
srfi-42.scm Add missing 'cond-expand' feature identifiers; remove srfi-6 from core list. 2013-03-21 12:50:04 -04:00
srfi-43.scm Extend core vector-fill! to handle a range 2020-01-03 13:01:04 +01:00
srfi-45.scm Add record type printer for srfi-45. 2013-04-07 12:43:17 -04:00
srfi-60.scm Replace bit-count with bitvector-count 2020-04-12 22:17:22 +02:00
srfi-64.scm Add #:declarative? #f to (srfi srfi-64) 2020-04-09 16:58:17 +02:00
srfi-67.scm Add missing 'cond-expand' feature identifiers; remove srfi-6 from core list. 2013-03-21 12:50:04 -04:00
srfi-69.scm Add missing 'cond-expand' feature identifiers; remove srfi-6 from core list. 2013-03-21 12:50:04 -04:00
srfi-71.scm Make srfi-71 visible through 'cond-expand'. 2018-08-07 12:33:25 +02:00
srfi-88.scm Improve correctness and consistency of 'eval-when' usage. 2014-01-23 10:41:22 -05:00
srfi-98.scm Complete changing license to LGPLv3+ 2009-06-17 22:30:26 +01:00
srfi-111.scm Implement SRFI-111 Boxes. 2014-01-24 10:50:51 -05:00
srfi-171.scm Add SRFI-171 to guile 2020-03-25 22:44:27 +01:00