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

Clarify whether the standard readtable can be modified. #58

Open
yitzchak opened this issue May 21, 2024 · 2 comments
Open

Clarify whether the standard readtable can be modified. #58

yitzchak opened this issue May 21, 2024 · 2 comments

Comments

@yitzchak
Copy link
Member

Section 2.1.1.2 states:

The standard readtable conforms to standard syntax. The consequences are undefined if an attempt is made to modify the standard readtable. To achieve the effect of altering or extending standard syntax, a copy of the standard readtable can be created; see the function copy-readtable.

And yet in the glossary:

standard readtable n. A readtable that is different from the initial readtable, that implements the expression syntax defined in this specification, and that, unlike other readtables, must never be modified by any program. (Although the definite reference “the standard readtable” is generally used within this document, it is actually implementation-dependent whether a single object fills the role of the standard readtable, or whether there might be multiple such objects, any one of which could be used on any given occasion where “the standard readtable” is called for. As such, this phrase should be seen as an indefinite reference in all cases except for anaphoric references.)

@Bike
Copy link
Member

Bike commented Aug 13, 2024

I don't think there's any standard way to actually get at the standard readtable anyway, so in practice it's less "must not" and more "can not"

@yitzchak
Copy link
Member Author

yitzchak commented Aug 13, 2024

(with-standard-io-syntax *readtable*) will return the standard readtable. You can do the same for the standard pprint dispatch table.

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