[ Non-logical Variables, Arrays, Bags, Shelves and Stores | Reference Manual | Alphabetic Index ]

# shelf_abolish(+ShelfHandle)

Destroy a shelf explicitly

ShelfHandle
  A shelf handle

## Description

This explicitly destroys a previously created shelf object and frees all its memory. Invoking shelf_abolish/1 is optional, the shelf will be automatically destroyed when the system backtracks across the call to shelf_create/2,3, or when the ShelfHandle is no longer needed and gets garbage collected.

Using the ShelfHandle after it has been destroyed will lead to an error message. Destroying an already destroyed shelf does nothing and is silently accepted.

### Modes and Determinism

- shelf_abolish(+) is det

### Exceptions

(4) instantiation fault
  ShelfHandle is not instantiated
(5) type error
  ShelfHandle is not a shelf
(40) stale object handle
  ShelfHandle refers to an already destroyed shelf

## Examples

    For examples see shelf_create/2,3.

## See Also

shelf_create / 2, shelf_create / 3, shelf_get / 3, shelf_set / 3