[ Syntax Settings | Reference Manual | Alphabetic Index ]

current_struct(?Name, -Struct)

Succeeds if Name is the name of a currently visible structure and Struct is its specification
Name
Variable or atom
Struct
Variable or structure.

Description

Used to retrieve the definition of a defined structure, or to enumerate all visible structure definitions.

Visible structures are those which have either been declared locally, exported, or which have been imported or reexported from another module.

Modes and Determinism

Modules

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

Fail Conditions

Name is not the name of a visible structure definition

Exceptions

(5) type error
Name is neither variable nor atom.
(5) type error
Struct is neither variable nor structure.

Examples

    :- local struct(employee(name,age,salary)).

    ?- current_struct(employee, Spec).
    Spec = employee(name, age, salary)
    yes.

    ?- current_struct(Name, Spec).
    Name = employee
    Spec = employee(name, age, salary)
    More (0.00s cpu) ? ;

    Name = suspend
    Spec = suspend(inst, constrained, bound)
    More (0.00s cpu) ? ;

    No (0.00s cpu)

    ?- current_struct(book, Spec).
    No (0.00s cpu)

See Also

local / 1, export / 1, struct / 1