[ Recorded Database | The ECLiPSe Built-In Predicates | Reference Manual | Alphabetic Index ]

# recorded_list(+Key, -List)

Succeeds if the List is the list of all terms that are currently recorded in the indexed database under the key Key.

Key
  An atom or a compound term.
List
  A (possibly empty) list of Prolog terms.

## Description

Unifies List with a list of all the terms that are currently recorded under the key Key. While recorded/2 returns the terms one by one on backtracking, recorded_list/2 gives them all at once. The order of the list corresponds to the order in which the terms would be delivered by recorded/2. recorded_list/2 could be defined as

        recorded_list(Key, List) :-
            findall(Term, recorded(Key, Term), List).

In the case of compound terms, all keys of the same name and arity are treated as equal.

### Modes and Determinism

- recorded_list(+, -) is det

### Modules

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

### Exceptions

(4) instantiation fault
  Key is not instantiated.
(5) type error
  Key is neither an atom nor a compound term.
(5) type error
  List is neither an variable nor a list.

## Examples

       Success:
       [eclipse]: erase_all(beer), recorded_list(beer,List).
       List = []
       yes.
       [eclipse]: record(beer,paulaner), record(beer,lowenbrau),
       recorda(beer,spaten), recorded_list(beer,List).
       List = [spaten, paulaner, lowenbrau]
       yes.
       Fail:
       erase_all(beer), recorded_list(beer,[paulaner]).
       Error:
       recorded_list(Beer,Value).                (Error 4)
       recorded_list(1,Value).                   (Error 5)
       recorded_list(beer,lowenbrau).            (Error 5)

## See Also

record / 2, recorded / 2