-
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
Partial R6RS library compatibility #1003
base: master
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks! In general I'm OK with a change of this size for now, but the key question is how to handle the file extensions. It was always the intention to support other languages (notably javascript), and load a different parser & evaluator based on the file extension, and that should be handled dynamically.
But if we can do so with minimal core changes I'm OK with more native R6RS support.
Replying to something you said in #1010 over here, because it’s more relevant to this issue. To my knowledge, #1010 (or some equivalent change supporting the same feature) is the only change that will need to be made to Disclaimer: Of course, I don’t know for certain until I actually try to implement these things. The other ‘core’ changes, as noted above, are: square bracket support in the reader (#883); supporting Perhaps we should talk more about those changes before I make too much further progress. |
9df9beb
to
5053f25
Compare
Support for customizing square brackets is fine. Note it's likely the default behavior will become square brackets as array literals for compatibility with Remora.
Probably not an issue but there's the question of what to do when both
This may be a problem. |
Aiming for Guile/Larceny-style R6RS compatibility, rather than Chez-style R6RS total conformance. A correct R6RS library will work, but error cases will reflect Chibi’s existing style rather than what R6RS strictly demands.
Still to do:
clean-up-r6rs-import
handles all cases yet.sls
extension for library files, looking for.chibi.sls
first(rnrs ...)
libraries, probably piggybacking off the R6RS-cleanup SRFIs like 181 and 237/240 where appropriateIf there is interest I will do these things. The only ‘core’ change is the one already made in
meta-7.scm
; for total support it also needs the macro expander body processing order change, which I don’t expect to be a massive change either. For square brackets it depends on the overall approach taken (#883).