cyclone/docs/api/srfi/1.md
Justin Ethier e722d520d4 Sync
2016-12-01 18:35:10 -05:00

4.2 KiB

layout title
main API

SRFI 1 - List library

The (srfi 1) provides a coherent and comprehensive set of list-processing procedures.

See the SRFI document for more information.

Constructors

xcons make-list list-tabulate cons* list-copy circular-list iota

Predicates

proper-list? circular-list? dotted-list? not-pair? null-list? list=

Selectors

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, append, concatenate, reverse, zip, and count

length+ zip unzip1 unzip2 unzip3 unzip4 unzip5 count append! append-reverse append-reverse! concatenate concatenate! reverse!

Fold, unfold, and map

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

Filtering and partitioning

filter partition remove filter! partition! remove!

Searching

find find-tail any every list-index take-while drop-while take-while! span break span! break!

Deleting

delete delete! delete-duplicates delete-duplicates!

Association lists

alist-cons alist-copy alist-delete alist-delete!

Set operations on lists

lset<= lset= lset-adjoin lset-union lset-intersection lset-difference lset-xor lset-diff+intersection lset-union! lset-intersection! lset-difference! lset-xor!

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!