SRFIs
SRFIs (Scheme Requests for Implementation, srfi.schemers.org) are community specifications for libraries and features, with reference implementations. There are over 250.
receive (multiple values) Time data types cut / cute (partial application): (map (cut * 2 <>) lst) Basic format Exceptions / conditions Intermediate format Generators and accumulators Pipeline operators (chain)
R7RS-large (in progress) is assembling many SRFIs into a larger standard library (the "Red" and "Tangerine" editions include lists, vectors, sorting, sets, hash tables, comparators, generators, and more).
(import (srfi 26))
(map (cut + 1 <>) '(1 2 3)) ; (2 3 4)
(map (cut list 'a <> 'c) '(1 2)) ; ((a 1 c) (a 2 c))
(import (srfi 2))
(and-let* ((entry (assq 'b '((a . 1) (b . 2))))
(value (cdr entry))
((> value 1)))
(* value 10)) ; 20
(import (srfi 28))
(format "~a has ~s items~%" "cart" 3) ; "cart has 3 items\n"