ulid ( -- ulid )
Universally Unique Lexicographically Sortable Identifier

Next:ulid>bytes ( ulid -- byte-array )


Vocabulary
ulid

Inputs
None

Outputs
ulida string


Word description
Generate a new 128-bit ULID using and return its string representation in the Crockford's base32 encoding. The current system time is encoded in the high 48 bits as the Unix time in milliseconds, the low 80 bits are random.

At the time of this writing the Factor implementation is not able to produce multiple ULIDs within less than one millisecond of each other, but a provision is made to make sure that if that ever happens in the future, the subsequent ULIDs inside of a millisecond will be an increment of the previous ones to guarentee the sorting order of the identifiers, as per the specification.

Errors
In case an overflow happens during such incrementing, the ulid-overflow error will be thrown.

Definition