directive

# `protocol/1-2`

## Description

    protocol(Protocol)

    protocol(Protocol,
        extends(Protocols))

Starting protocol directive.

## Template and modes

    protocol(+protocol_identifier)

    protocol(+protocol_identifier,
        extends(+extended_protocols))

## Examples

    :- protocol(listp).

    :- protocol(listp,
        extends(compoundp)).

    :- protocol(queuep,
        extends(protected::listp)).

See also

end_protocol/0