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

Add a faithful implementation of syntax-case and identifier properties #872

Open
mnieper opened this issue Nov 11, 2022 · 2 comments
Open

Comments

@mnieper
Copy link
Collaborator

mnieper commented Nov 11, 2022

Unfortunately, this is just a feature request at the moment, and there is no implementation accompanying this issue.

Several SRFIs I wrote recently depend on syntax-case and identifier properties, being part of the large language). The sample implementations were written and tested with Chez Scheme because it supports syntax-case and identifier properties. It would be nice to be able to port and test the sample implementations from R6RS to R7RS. Chibi Scheme would be a great implementation to do this.

To be able to test edge cases, faithful implementations of syntax-case and identifier properties, and not just some approximation would be needed.

Thanks!

@dpk
Copy link
Contributor

dpk commented Nov 17, 2022

I recently wanted to propose moving Chibi’s macro expander out of the C core and into Scheme code. This would create a minor bootstrapping issue, but one which can easily be resolved in the psyntax style by shipping (and probably having in the repo) a pre-expanded form of the expander as the version that actually gets loaded.

Another thing it would potentially enable is letting people pick their own macro expander, much as it’s currently theoretically possible to pick your own init file (but in practice, init-7 is the only one).

@mnieper
Copy link
Collaborator Author

mnieper commented Nov 17, 2022

I recently wanted to propose moving Chibi’s macro expander out of the C core and into Scheme code. This would create a minor bootstrapping issue, but one which can easily be resolved in the psyntax style by shipping (and probably having in the repo) a pre-expanded form of the expander as the version that actually gets loaded.

Another thing it would potentially enable is letting people pick their own macro expander, much as it’s currently theoretically possible to pick your own init file (but in practice, init-7 is the only one).

+1 from me!

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