[ Reference Manual | Alphabetic Index ]

# library(dynamic_attributes)

SWI/hProlog-style variable attribute interface [more]

## Predicates

> attvar(?Term)
>   Term is a variable with at least one dynamic attribute
> copy_term(?Term, -Copy, -Goals)
>   Compatibility: SWI/SICStus-Prolog term copy
> copy_term_nat(?Term, -Copy)
>   Copy term without variable attributes
> del_attr(?Var, +Name)
>   Delete a dynamic attribute
> del_attrs(?Var)
>   Delete all dynamic attributes
> get_attr(-Var, +Name, -Value)
>   Retrieve a dynamic attribute
> get_attrs(-Var, -Attrs)
>   Get all dynamic attributes
> put_attr(-Var, +Name, ?Value)
>   Add or replace a dynamic attribute
> put_attrs(-Var, +Attrs)
>   Add or replace dynamic attributes
> term_attvars(?, ?)
>   No description available

## Description

This library provides variable attributes in the style of Demoen (Bart Demoen: Dynamic attributes, their hProlog implementation, and a first evaluation. Report CW 350, Department of Computer Science, K.U.Leuven, Leuven, Belgium, Oct 2002), and aims specifically at compatibility with their implementation in SWI-Prolog.

The designation 'dynamic attributes' indicates that these attribute names do not have to be declared, and attributes can be freely added and removed. The implementation consists of a thin layer on top of ECLiPSe's native variable attributes: they are stored in a hash table attached to a variable as the ECLiPSe attribute 'dynamic_attributes'.

Dynamic attributes can be freely mixed with ECLiPSe's native attributes.

## About

- Author: Joachim Schimpf, Coninfer Ltd
- Copyright © Public domain
- Date: $Date: 2016/08/12 10:57:29 $

## See Also

meta_attribute / 2, library(atts), library(swi)

Generated from dynamic_attributes.eci on 2020-02-26 22:26