[ Type Testing | Reference Manual | Alphabetic Index ]

# current_functor(?PredSpec)

Succeeds if PredSpec is a functor known to the system.

PredSpec
  Functor in the form Name/Arity or variable.

## Description

Used to test whether PredSpec is a functor known to the system or to return all functors defined.

Note that PredSpec is specified in the format Name/Arity and may be specified with Name as an atom or variable and/or Arity as an integer or variable.

### Modes and Determinism

- current_functor(++) is semidet
- current_functor(-) is multi

### Fail Conditions

Fails if PredSpec is not a currently known functor

### Exceptions

(5) type error
  PredSpec is instantiated but not in the format Atom / Integer

## Examples

    Success:
       current_functor(findall/N).
       current_functor(N/4).
       current_functor((',')/2).

       [eclipse]: current_functor(X).

       X = '' / 0     More? (;)

       X = findall / 0     More? (;)

       X = findall / 3     More? (;)

       X = at_eof_handler / 0     More? (;)    % RETURN pressed
       yes.
       [eclipse]:

    Fail:
       current_functor(myfunctor/100).

    Error:
       current_functor(abc)           Error 5.
       current_functor(man(1)).       Error 5.

## See Also

atom / 1, current_atom / 1, current_op / 3