-
Notifications
You must be signed in to change notification settings - Fork 142
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
Square brackets #883
Comments
How different is |
This is somewhat unrelated to the question. The usual meaning of The context of the question is different. R7RS is compatible with the lexical syntax extension I asked about. |
The meaning of square brackets should be configurable. I think a reasonable approach is to allow specifying the identifier to which they expand similar to Kawa:
Here you can locally override the binding of |
So, As it is a configuration of the reader, I wonder where the identifier (or |
Yes, runtime is preferable. We can consider:
1 is simplest for now so I recommend that unless you feel ambitious. Beware: there are two implementations of |
IMHO read and write syntax settings should be bound to port objects. I did some sketching of this a while back but didn't manage to come up with an elegant API. Gambit also supports something like Kawa's approach IIRC. You should ask Feeley about that. I don't like the approach, but he does. |
I agree with you that customizing the reader via port settings is the way to go, but this is orthogonal to the question of a global setting. We need a global setting because when Chibi is initially started, the ports have to default to some behavior. This must be customizable so Chibi can run programs containing square brackets correctly. Implementing per-port settings is independent of it, but a port would take the global setting as its default. |
Yes, all of these are ultimately port-level settings (like case-insensitivity), it's just a question of where the defaults come from. |
Would you accept a patch that enables using square brackets (as used in R6RS, for example) to improve portability?
The text was updated successfully, but these errors were encountered: