On this page:
first
second
third
fourth
fifth
sixth
seventh
eighth
rest
last-pair
merge-sorted-lists
mergesort
quicksort
Version: 4.1

 (require mzlib/list)

The mzlib/list library re-exports several functions from scheme/base and scheme/list:

  cons?

  empty?

  empty

  foldl

  foldr

  remv

  remq

  remove

  remv*

  remq*

  remove*

  findf

  memf

  assf

  filter

  sort

(first v)  any/c

  v : pair?

(second v)  any/c

  v : (and/c pair? ....)

(third v)  any/c

  v : (and/c pair? ....)

(fourth v)  any/c

  v : (and/c pair? ....)

(fifth v)  any/c

  v : (and/c pair? ....)

(sixth v)  any/c

  v : (and/c pair? ....)

(seventh v)  any/c

  v : (and/c pair? ....)

(eighth v)  any/c

  v : (and/c pair? ....)

Accesses the first, second, etc. elment of “list” v. The argument need not actually be a list; it is inspected only as far as necessary to obtain an element (unlike the same-named functions from scheme/list, which do require the argument to be a list).

(rest v)  any/c

  v : pair?

The same as cdr.

(last-pair v)  pair?

  v : pair?

Returns the last pair in v, raising an error if v is not a pair (but v does not have to be a proper list).

(merge-sorted-lists lst1 lst2 less-than?)  list?

  lst1 : list?

  lst2 : lst?

  less-than? : (any/c any/c . -> . any/c)

Merges the two sorted input lists, creating a new sorted list. The merged result is stable: equal items in both lists stay in the same order, and these in lst1 precede lst2.

(mergesort lst less-than?)  list?

  lst : list?

  less-than? : (any/c any/c . -> . any/c)

The same as sort.

(quicksort lst less-than?)  list?

  lst : list?

  less-than? : (any/c any/c . -> . any/c)

The same as sort.