These C functions mirror Scheme's equality predicate procedures with one
important difference. The C routines return C boolean values (0 and 1)
instead of `SCM_BOOL_T`

and `SCM_BOOL_F`

.

The Scheme notational convention of putting a `?`

at the end of
predicate procedure names is mirrored in C by placing `_p`

at the
end of the procedure. For example, `(equal? ...)`

maps to
`gh_equal_p(...)`

.

— Function: int **gh_eq_p** (`SCM x, SCM y`)

Returns 1 if

xandyare equal in the sense of Scheme's`eq?`

predicate, 0 otherwise.

— Function: int **gh_eqv_p** (`SCM x, SCM y`)

Returns 1 if

xandyare equal in the sense of Scheme's`eqv?`

predicate, 0 otherwise.

— Function: int **gh_equal_p** (`SCM x, SCM y`)

Returns 1 if

xandyare equal in the sense of Scheme's`equal?`

predicate, 0 otherwise.