cyclone/docs/api/srfi/1.md
2016-12-01 17:51:52 -05:00

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!