I need to choose a Scheme standard for an academic compiler implementation. It has to be simple enough, but should still be a powerful language. There are several (RRS–R7RS) standards of Scheme. Is there a public comparison of these reports for choosing? If no, which one would you recommend for a first compiler?
Asked
Active
Viewed 1,420 times
9
-
"If no, which one would you recommend for a first compiler?" => the last, R7RS ([the first part is achieved now](http://www.scheme-reports.org/)). R6RS was a mistake, and R5RS is still nice. – Sep 10 '13 at 07:47
-
@arbautjc, what would you say about R4RS, isn't it easier to start from it, and then go to R5RS? – Necto Sep 10 '13 at 08:31
-
2@Necto: If you want to go towards R5RS anyway, it should be easier to start with growing subsets of R5RS rather than with R4RS. That way, you won't have to rewrite incompatible changes or implement R4RS features that have been removed. – Rörd Sep 10 '13 at 09:31
-
How far are you planning to take this compiler? If it is just going to be a semester project or such, you will probably end up implementing the core of all these standards. So it would be best to pick a simple one and start with that. R5RS is going to be the simplest modern scheme (there are no libraries or `syntax-case` to worry about, although it does have `syntax-rules` which is not trivial to implement). The only reason to pick R4RS would be if you wanted to avoid `syntax-rules` macros entirely for some reason. – Justin Ethier Sep 10 '13 at 16:07
2 Answers
10
You can use the "Language changes" sections in the standard documents themselves to compare them. Here are links to these sections in public HTML versions:

Rörd
- 6,556
- 21
- 27
8
The easies to start with is a R5RS subset and it would be not too hard to make it a R7RS-small
later. The R5RS is not very big so it's almost a digest on it's own.
You can compare them by their language changes part of the different reports. R7RS-small even have a list both against R5RS and R6RS.

Sylwester
- 47,942
- 4
- 47
- 79