mirror of
https://github.com/justinethier/cyclone.git
synced 2025-05-22 07:09:17 +02:00
328 lines
4.2 KiB
Markdown
328 lines
4.2 KiB
Markdown
# SRFI 1 - List library
|
|
|
|
The `(srfi 1)` provides a coherent and comprehensive set of list-processing procedures.
|
|
|
|
See the [SRFI document](http://srfi.schemers.org/srfi-1/srfi-1.html) for more information.
|
|
|
|
- Constructors:
|
|
[`xcons`](#xcons)
|
|
[`make-list`](#make-list)
|
|
[`list-tabulate`](#list-tabulate)
|
|
[`cons*`](#cons)
|
|
[`list-copy`](#list-copy)
|
|
[`circular-list`](#circular-list-1)
|
|
[`iota`](#iota)
|
|
|
|
- Predicates
|
|
[`proper-list?`](#proper-list)
|
|
[`circular-list?`](#circular-list)
|
|
[`dotted-list?`](#dotted-list)
|
|
[`not-pair?`](#not-pair)
|
|
[`null-list?`](#null-list)
|
|
[`list=`](#list=)
|
|
|
|
- Selectors
|
|
[`first`](#first)
|
|
[`second`](#second)
|
|
[`third`](#third)
|
|
[`fourth`](#fourth)
|
|
[`fifth`](#fifth)
|
|
[`sixth`](#sixth)
|
|
[`seventh`](#seventh)
|
|
[`eighth`](#eighth)
|
|
[`ninth`](#ninth)
|
|
[`tenth`](#tenth)
|
|
[`car+cdr`](#carcdr)
|
|
[`take`](#take)
|
|
[`drop`](#drop)
|
|
[`take-right`](#take-right)
|
|
[`drop-right`](#drop-right)
|
|
[`take!`](#take-1)
|
|
[`drop-right!`](#drop-right-1)
|
|
[`split-at`](#split-at)
|
|
[`split-at!`](#split-at-1)
|
|
[`last`](#last)
|
|
[`last-pair`](#last-pair)
|
|
|
|
- Miscellaneous: length, append, concatenate, reverse, zip, and count
|
|
[`length+`](#length)
|
|
[`zip`](#zip)
|
|
[`unzip1`](#unzip1)
|
|
[`unzip2`](#unzip2)
|
|
[`unzip3`](#unzip3)
|
|
[`unzip4`](#unzip4)
|
|
[`unzip5`](#unzip5)
|
|
[`count`](#count)
|
|
[`append!`](#append)
|
|
[`append-reverse`](#append-reverse)
|
|
[`append-reverse!`](#append-reverse-1)
|
|
[`concatenate`](#concatenate)
|
|
[`concatenate!`](#concatenate-1)
|
|
[`reverse!`](#reverse)
|
|
|
|
- Fold, unfold, and map
|
|
[`unfold`](#unfold)
|
|
[`fold`](#fold)
|
|
[`pair-fold`](#pair-fold)
|
|
[`reduce`](#reduce)
|
|
[`unfold-right`](#unfold-right)
|
|
[`fold-right`](#fold-right)
|
|
[`pair-fold-right`](#pair-fold-right)
|
|
[`reduce-right`](#reduce-right)
|
|
[`append-map`](#append-map)
|
|
[`append-map!`](#append-map-1)
|
|
[`map!`](#map)
|
|
[`pair-for-each`](#pair-for-each)
|
|
[`filter-map`](#filter-map)
|
|
[`map-in-order`](#map-in-order)
|
|
|
|
- Filtering and partitioning
|
|
[`filter`](#filter)
|
|
[`partition`](#partition)
|
|
[`remove`](#remove)
|
|
[`filter!`](#filter-1)
|
|
[`partition!`](#partition-1)
|
|
[`remove!`](#remove-1)
|
|
|
|
- Searching
|
|
[`find`](#find)
|
|
[`find-tail`](#find-tail)
|
|
[`any`](#any)
|
|
[`every`](#every)
|
|
[`list-index`](#list-index)
|
|
[`take-while`](#take-while)
|
|
[`drop-while`](#drop-while)
|
|
[`take-while!`](#take-while-1)
|
|
[`span`](#span)
|
|
[`break`](#break)
|
|
[`span!`](#span-1)
|
|
[`break!`](#break-1)
|
|
|
|
- Deleting
|
|
[`delete`](#delete)
|
|
[`delete!`](#delete-1)
|
|
[`delete-duplicates`](#delete-duplicates)
|
|
[`delete-duplicates!`](#delete-duplicates-1)
|
|
|
|
- Association lists
|
|
[`alist-cons`](#alist-cons)
|
|
[`alist-copy`](#alist-copy)
|
|
[`alist-delete`](#alist-delete)
|
|
[`alist-delete!`](#alist-delete-1)
|
|
|
|
- Set operations on lists
|
|
[`lset<=`](#lset)
|
|
[`lset=`](#lset-1)
|
|
[`lset-adjoin`](#lset-adjoin)
|
|
[`lset-union`](#lset-union)
|
|
[`lset-intersection`](#lset-intersection)
|
|
[`lset-difference`](#lset-difference)
|
|
[`lset-xor`](#lset-xor)
|
|
[`lset-diff+intersection`](#lset-diffintersection)
|
|
[`lset-union!`](#lset-union)
|
|
[`lset-intersection!`](#lset-intersection-1)
|
|
[`lset-difference!`](#lset-difference-1)
|
|
[`lset-xor!`](#lset-xor-1)
|
|
|
|
# xcons
|
|
|
|
# tree-copy
|
|
|
|
# make-list
|
|
|
|
# list-tabulate
|
|
|
|
# cons*
|
|
|
|
# list-copy
|
|
|
|
# proper-list?
|
|
|
|
# circular-list?
|
|
|
|
# dotted-list?
|
|
|
|
# not-pair?
|
|
|
|
# null-list?
|
|
|
|
# list=
|
|
|
|
# circular-list
|
|
|
|
# length+
|
|
|
|
# iota
|
|
|
|
# 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
|
|
|
|
# zip
|
|
|
|
# unzip1
|
|
|
|
# unzip2
|
|
|
|
# unzip3
|
|
|
|
# unzip4
|
|
|
|
# unzip5
|
|
|
|
# count
|
|
|
|
# append!
|
|
|
|
# append-reverse
|
|
|
|
# append-reverse!
|
|
|
|
# concatenate
|
|
|
|
# concatenate!
|
|
|
|
# unfold
|
|
|
|
# fold
|
|
|
|
# pair-fold
|
|
|
|
# reduce
|
|
|
|
# unfold-right
|
|
|
|
# fold-right
|
|
|
|
# pair-fold-right
|
|
|
|
# reduce-right
|
|
|
|
# append-map
|
|
|
|
# append-map!
|
|
|
|
# map!
|
|
|
|
# pair-for-each
|
|
|
|
# filter-map
|
|
|
|
# map-in-order
|
|
|
|
# filter
|
|
|
|
# partition
|
|
|
|
# remove
|
|
|
|
# filter!
|
|
|
|
# partition!
|
|
|
|
# remove!
|
|
|
|
# find
|
|
|
|
# find-tail
|
|
|
|
# any
|
|
|
|
# every
|
|
|
|
# list-index
|
|
|
|
# take-while
|
|
|
|
# drop-while
|
|
|
|
# take-while!
|
|
|
|
# span
|
|
|
|
# break
|
|
|
|
# span!
|
|
|
|
# break!
|
|
|
|
# delete
|
|
|
|
# delete!
|
|
|
|
# alist-cons
|
|
|
|
# alist-copy
|
|
|
|
# delete-duplicates
|
|
|
|
# delete-duplicates!
|
|
|
|
# alist-delete
|
|
|
|
# alist-delete!
|
|
|
|
# reverse!
|
|
|
|
# lset<=
|
|
|
|
# lset=
|
|
|
|
# lset-adjoin
|
|
|
|
# lset-union
|
|
|
|
# lset-intersection
|
|
|
|
# lset-difference
|
|
|
|
# lset-xor
|
|
|
|
# lset-diff+intersection
|
|
|
|
# lset-union!
|
|
|
|
# lset-intersection!
|
|
|
|
# lset-difference!
|
|
|
|
# lset-xor!
|
|
|