Open johnwcowan opened 4 years ago
I agree and I will come back to this. I started to rewrite the expander to make it more future-proof and to implement syntax-case'. In the end, it can become what
psyntax` has become for R6RS.
The existence of psyntax
and van Tonder's alternative syntax implementation seems to have been vital to the adoption of R6RS outside of Chez Scheme. Thus I think we need such a frontend as soon as we add non-portable syntax and a macro system surpassing syntax-rules
to R7RS-large.
I agree. My current intention is to ballot separately on syntax-case and explicit renaming so that hopefully one or both become part of R7RS-large. Syntactic closures (MIT, Chibi, Picrin) and implicit renaming (Chicken, Picrin) are pretty rare in the Scheme world, and all four implementations support explicit renaming as well.
On Fri, Feb 28, 2020 at 11:30 AM Marc Nieper-Wißkirchen < notifications@github.com> wrote:
I agree and I will come back to this. I started to rewrite the expander to make it more future-proof and to implement syntax-case'. In the end, it can become what psyntax` has become for R6RS.
The existence of psyntax and van Tonder's alternative syntax implementation seems to have been vital to the adoption of R6RS outside of Chez Scheme. Thus I think we need such a frontend as soon as we add non-portable syntax and a macro system surpassing syntax-rules to R7RS-large.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/mnieper/rapid-scheme/issues/3?email_source=notifications&email_token=AANPPBXAX3HSYVOCQYPDEKDRFE33LA5CNFSM4J3MYVV2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOENJDRYI#issuecomment-592591073, or unsubscribe https://github.com/notifications/unsubscribe-auth/AANPPBW43RZQLDYAHZHVML3RFE33LANCNFSM4J3MYVVQ .
Am Fr., 28. Feb. 2020 um 17:51 Uhr schrieb John Cowan < notifications@github.com>:
I agree. My current intention is to ballot separately on syntax-case and explicit renaming so that hopefully one or both become part of R7RS-large. Syntactic closures (MIT, Chibi, Picrin) and implicit renaming (Chicken, Picrin) are pretty rare in the Scheme world, and all four implementations support explicit renaming as well.
On Fri, Feb 28, 2020 at 11:30 AM Marc Nieper-Wißkirchen < notifications@github.com> wrote:
I agree and I will come back to this. I started to rewrite the expander to make it more future-proof and to implement syntax-case'. In the end, it can become what psyntax` has become for R6RS.
I just would like to let you know that my new expander is making good progress. Soon I should be able to show you the new version. Marc
The existence of psyntax and van Tonder's alternative syntax implementation seems to have been vital to the adoption of R6RS outside of Chez Scheme. Thus I think we need such a frontend as soon as we add non-portable syntax and a macro system surpassing syntax-rules to R7RS-large.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub < https://github.com/mnieper/rapid-scheme/issues/3?email_source=notifications&email_token=AANPPBXAX3HSYVOCQYPDEKDRFE33LA5CNFSM4J3MYVV2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOENJDRYI#issuecomment-592591073 , or unsubscribe < https://github.com/notifications/unsubscribe-auth/AANPPBW43RZQLDYAHZHVML3RFE33LANCNFSM4J3MYVVQ
.
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/mnieper/rapid-scheme/issues/3?email_source=notifications&email_token=AAHDTQYM6USMOWTX2SSXGZTRFE6KLA5CNFSM4J3MYVV2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOENJFYAI#issuecomment-592600065, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAHDTQ5U43PJAIJXO7T23PLRFE6KLANCNFSM4J3MYVVQ .
There are only a few hints on what Rapid Scheme requires for its output code to run: all macros and modules are expanded, so they aren't necessary except for primitive syntax, but what is the primitive syntax? Furthermore, what parts of the R7RS-small libraries are required by the output even though calls to them are not present in the input, if any?
A short doc about this would be extremely useful in leveraging the compiler further.