NAME

include/macros/list.pir - list processing macros

This file contains various list processing macros. All macro arguments are assumed to be PMC types unless otherwise noted.

Macros

.NULL(L,B)

Branch to B if L is an empty list.

.CAR(R,A)

Puts the car of A into R. A is assumed to be a valid list.

.APPEND(R,A,B)

Appends B to list A, placing the result into R. A is assumed to be a valid list.

.CDR(R,A)

Puts the cdr of A into R. A is assumed to be a valid list.

.SECOND(R,A)

Puts the second element of A into R. A is assumed to be a valid list.

.THIRD(R,A)

Puts the third element of A into R. A is assumed to be a valid list.

.FOURTH(R,A)

Puts the fourth element of A into R. A is assumed to be a valid list.

.LIST_1(R,A)

Creates a one element list containing A, placing the result in R.

.LIST_2(R,A,B)

Creates a two element list containing A and B, placing the result in R.