Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

question about UUID collision and ChezScheme correctness #689

Open
symingz opened this issue Mar 27, 2023 · 1 comment
Open

question about UUID collision and ChezScheme correctness #689

symingz opened this issue Mar 27, 2023 · 1 comment

Comments

@symingz
Copy link
Contributor

symingz commented Mar 27, 2023

Hello, I noticed that ChezScheme made use of UUID extensively internally. I'm curious to know, is it possible (however low the probability) for ChezScheme to malfunction in the event of an UUID collision?

@mnieper
Copy link
Contributor

mnieper commented Nov 1, 2023

The probability is much lower than another Cretaceous–Paleogene extinction event, but mathematically it is non-zero. If a collision happens, Chez Scheme can malfunction; for example, generate-temporaries guarantees fresh identifiers each time and macros using this form rely on this fact, e.g. here:

(with-syntax ([(p ...) (generate-temporaries #'(x ...))]

Fortunately, we won't live long enough to observe such a collision and malfunction.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants