Up | Next | Tail |

Functions in this section return T when the condition defined is met and NIL when it is not. Defined are type checking functions and elementary comparisons.

ATOM(U:any):boolean eval, spread

Returns T if U is not a pair.

EXPR PROCEDURE ATOM(U); |

NULL PAIRP U; |

CODEP(U:any):boolean eval, spread

Returns T if U is a function-pointer.

CONSTANTP(U:any):boolean eval, spread

Returns T if U is a constant (a number, string, function-pointer, or
vector).

EXPR PROCEDURE CONSTANTP(U); |

NULL OR(PAIRP U, IDP U); |

EQ(U:any, V:any):boolean eval, spread

Returns T if U points to the same object as V. EQ is not a reliable
comparison between numeric arguments.

EQN(U:any, V:any):boolean eval, spread

Returns T if U and V are EQ or if U and V are numbers and have
the same value and type.

EQUAL(U:any, V:any):boolean eval, spread

Returns T if U and V are the same. Dotted-pairs are compared
recursively to the bottom levels of their trees. Vectors must have
identical dimensions and EQUAL values in all positions. Strings must
have identical characters. Function pointers must have EQ values.
Other atoms must be EQN equal.

FIXP(U:any):boolean eval, spread

Returns T if U is an integer (a fixed number).

FLOATP(U:any):boolean eval, spread

Returns T if U is a floating point number.

IDP(U:any):boolean eval, spread

Returns T if U is an id.

MINUSP(U:any):boolean eval, spread

Returns T if U is a number and less than 0. If U is not a number or
is a positive number, NIL is returned.

EXPR PROCEDURE MINUSP(U); |

IF NUMBERP U THEN LESSP(U, 0) ELSE NIL; |

NULL(U:any):boolean eval, spread

Returns T if U is NIL.

EXPR PROCEDURE NULL(U); |

U EQ NIL; |

NUMBERP(U:any):boolean eval, spread

Returns T if U is a number (integer or floating).

EXPR PROCEDURE NUMBERP(U); |

IF OR(FIXP U, FLOATP U) THEN T ELSE NIL; |

ONEP(U:any):boolean eval, spread.

Returns T if U is a number and has
the value 1 or 1.0. Returns NIL otherwise.
^{a}

EXPR PROCEDURE ONEP(U); |

OR(EQN(U, 1), EQN(U, 1.0)); |

PAIRP(U:any):boolean eval, spread

Returns T if U is a dotted-pair.

STRINGP(U:any):boolean eval, spread

Returns T if U is a string.

VECTORP(U:any):boolean eval, spread

Returns T if U is a vector.

ZEROP(U:any):boolean eval, spread.

Returns T if U is a number and has the value 0 or 0.0. Returns NIL
otherwise.^{a}

EXPR PROCEDURE ZEROP(U); |

OR(EQN(U, 0), EQN(U, 0.0)); |

Up | Next | Front |