object

# `magic`

Object encapsulating magic methods.

Author: Ulf Nilsson. Ported to Logtalk and augmented with stratified negation by Victor Lagerkvist.
Version: 1:0:0
Date: 2010-06-13
Compilation flags:
`static, context_switching_calls`
Uses:
list
Remarks:
(none)
Inherited public predicates:
(none)

- Public predicates

  - `magicise/4`

  - `magic/2`

- Protected predicates

- Private predicates

- Operators

## Public predicates

### `magicise/4`

Transform (Head :- Body) into a magic clause (NewHead :- NewBody).

Compilation flags:
`static`
Template:
`magicise(Head,Body,NewHead,NewBody)`
Mode and number of proofs:
`magicise(+term,+list,-term,-list)` - `zero_or_one`

### `magic/2`

Prefix the predicate symbol of Old with magic.

Compilation flags:
`static`
Template:
`magic(Old,New)`
Mode and number of proofs:
`magic(+callable,-callable)` - `zero_or_one`

## Protected predicates

(no local declarations; see entity ancestors if any)

## Private predicates

(no local declarations; see entity ancestors if any)

## Operators

(none)