[ Obsolete | The ECLiPSe Built-In Predicates | Reference Manual | Alphabetic Index ]

# is_built_in(++PredSpec)

Succeeds if PredSpec is a system built-in predicate.

PredSpec
  Term of the form Atom/Integer.

### This built-in predicate is obsolete!

## Description

Used to test whether PredSpec is a ECLiPSe built-in predicate.

This predicate only succeeds for a PredSpec which is known to be a built-in. Undefined Predspec's raise an exception.

### Modes and Determinism

- is_built_in(++) is semidet

### Modules

This predicate is sensitive to its module context (tool predicate, see @/2).

### Fail Conditions

Fails if PredSpec is not a built-in predicate

### Exceptions

(4) instantiation fault
  PredSpec is not fully instantiated.
(5) type error
  PredSpec is not in the format Atom/Integer.
(60) referring to an undefined procedure
  PredSpec is not a defined procedure.

## Examples

    Success:
       is_built_in(nl/0).
       is_built_in(write/1).

    Fail:
       is_built_in(append/3). % append/3 is a library
                              % predicate, not a built-in.
    Error:
       is_built_in(X).           (Error 4).
       is_built_in(a/X).         (Error 4).
       is_built_in(a).           (Error 5).
       is_built_in(1).           (Error 5).
       is_built_in(undefined/0). (Error 60).

## See Also

current_built_in / 1, is_predicate / 1, get_flag / 3