LIST PROCESSING MACROS ^

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

.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.


parrot