This paper is not about Racket but reports on an r7rs implementation
experience and so may have some helpful hints:

http://www.schemeworkshop.org/2014/papers/Kato2014.pdf
On Oct 25, 2015 5:18 PM, "Alexis King" <lexi.lam...@gmail.com> wrote:

> I have built a very small, very incomplete implementation of R7RS in
> Racket. You can install the “r7rs” package, or you can find it on GitHub
> here:
> https://github.com/lexi-lambda/racket-r7rs
>
> Most of the standard seems fairly straightforward, but there are two
> questions I have. First of all, do there exist any R7RS libraries or
> programs out there that could be used as test cases? The standard is not
> always 100% clear, so having real code to test against would be ideal. This
> is probably more productive than hopelessly guessing at the meaning behind
> the fuzzier areas of the spec.
>
> Second of all, the only non-trivial problem is how to handle the R7RS
> library system and how to integrate it with Racket’s modules. I’ve been
> thinking about how to handle this, and I’m not sure which path I should
> take. I think there are two different use-cases to having an R7RS
> implementation inside of Racket, and each presents its own needs:
>
>    1. Maintaining full source compatibility with R7RS-compliant programs.
>    2. Implementing R7RS as a module language and requiring “#lang r7rs”.
>
> These are not necessarily mutually exclusive. It seems that Racket’s R5RS
> support manages to provide both options by having the “r5rs” lang and
> module language while also including a mode that works by evaluating
> expressions at the top-level. The question becomes: what is the value
> behind an R7RS implementation? I’ve mostly been implementing it as an
> exercise, and because it’s irked me a little that we have R{5,6}RS
> implementations but not R7RS, but it probably isn’t very useful within the
> Racket ecosystem.
>
> With this context in mind, I ask those have been involved in the Racket
> R5RS or R6RS support to share their experiences regarding these problems.
> Also, if anyone is aware of usages of R7RS (or would be interested in R7RS
> support in Racket, for whatever reason), I’d appreciate thoughts on that as
> well.
>
> If interest is low, I’ll probably just take option 2 for now and build a
> mostly-compliant implementation that accommodates Racket in a few places,
> but I do have some potential ideas for how to handle source compatibility.
> Still, I’m sure I’d be tackling many of the same problems other people have
> already considered, which is why I ask for information about any prior art.
>
> Thanks,
> Alexis
>
> --
> You received this message because you are subscribed to the Google Groups
> "Racket Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to racket-users+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to