uuid.pl -- Universally Unique Identifier (UUID) Library
The library provides operations on UUIDs. Please consult other sources for understanding UUIDs and the implications of the different UUID versions. Some typical calls are given below:
?- uuid(X). X = 'ea6589fa-19dd-11e2-8a49-001d92e1879d'. ?- uuid(X, [url('http://www.swi-prolog.org')]). X = '73a07870-6a90-3f2e-ae2b-ffa538dc7c2c'.
- uuid(-UUID) is det
- UUID is an atom representing a new UUID. This is the same as
uuid(UUID, ). See uuid/2 for options.
- uuid(-UUID, +Options) is det
- Create a new UUID according to Options. The following options
- Integer in the range 1..5, which specifies the UUID version that is created. Default is 1.
- Provide additional context information for UUIDs using version 3 or 5. If there is no explicit version option, UUID version 3 is used.
- Representation of the UUID. Default is
atom, yielding atoms such as
8304efdd-bd6e-5b7c-a27f-83f3f05c64e0. The alternative is
integer, returning a large integer that represents the 128 bits of the UUID.
If SWI-Prolog was not built with the OSSP UUID dependency library a simple Prolog alternative that only implements version 4 random UUIDs is provided. In this case the default version is 4 and the only admissible options are
- uuid_property(+UUID, ?Property)
- True when UUID is a property of the given UUID. Supported properties
- Return the version of the UUID (1..5)
- Time using SWI-Prolog's time stamp (float with seconds since January 1, 1970, UTC). Only for version 1 and 2 UUIDs