picrin/piclib/srfi/1.scm

72 lines
1.6 KiB
Scheme

(define-library (srfi 1)
(import (scheme base))
;; # Constructors
;; cons list
;; xcons cons* make-list list-tabulate
;; list-copy circular-list iota
;; # Predicates
;; pair? null?
;; proper-list? cirtular-list? dotted-list?
;; not-pair? null-list?
;; list=
;; # Selectors
;; car cdr ... cddadr cddddr list-ref
;; first second third fourth fifth sixth seventh eighth ninth tenth
;; car+cdr
;; take drop
;; take-right drop-right
;; take! drop-right!
;; split-at split-at!
;; last last-pair
;; # Miscellaneous
;; length length+
;; append concatenate reverse
;; append! concatenate! reverse!
;; append-reverse append-reverse!
;; zip unzip1 unzip2 unzip3 unzip4 unzip5
;; count
;; # Fold, unfold & map
;; map for-each
;; fold unfold pair-fold reduce
;; fold-right unfold-right pair-fold right reduce-right
;; append-map append-map!
;; map! pair-for-each filter-map map-in-order
;; # Filtering & partitioning
;; filter partition remove
;; filter! partition! remove!
;; # Searching
;; member memq memv
;; find find-tail
;; any every
;; list-index
;; take-while drop-while take-while!
;; span break span! break!
;; # Deleting
;; delete delete-duplicates
;; delete! delete-duplicates!
;; # Association lists
;; assoc assq assv
;; alist-cons alist-copy
;; alist-delete alist-delete!
;; # Set operations on lists
;; lset<= lset= lset-adjoin
;; lset-union lset-union!
;; lset-intersection lset-intersection!
;; lset-difference lset-difference!
;; lset-xor lset-xor!
;; lset-diff+intersenction lset-diff+intersection!
;; # Primitive side-effects
;; set-car! set-cdr!
)