| Announcement: Rapid Scheme 0.1 | Marc Nieper-Wißkirchen | 7/5/16 4:09 AM | An initial preview release of Rapid Scheme is available at:
https://gitlab.com/nieper/rapid-scheme Rapid Scheme is an implementation of the Scheme programming language as described by the R7RS. As Rapid Scheme is written in portable Scheme code itself, it depends on the existence of a working implementation of the R7RS. One may ask what the purpose of an implementation of R7RS is if one already needs an implementation of R7RS in order to use it. There are actually several reasons for the existence of Rapid Scheme: * Rapid Scheme outputs any error detected during expansion in a standard format (which is also used by gcc and consumable by Emacs) with exact line and column numbers of the erroneous construct including the context due to library imports, file inclusion and macro expansion. * Rapid Scheme tries to detect as many errors as possible. In particular, it helps writing portable code. * Rapid Scheme can and will be used to prototype syntactic extensions to the R7RS. This may come handy in sample implementations of SRFIs, in particular those envisaged for inclusion in R7RS-large. * Compiler writers can use Rapid Scheme as a front-end of a standalone implementation of R7RS. In particular, it should be relatively easy to combine an existing implementation of an earlier report such as R5RS with Rapid Scheme to produce a stand-alone implementation of R7RS. * Rapid Scheme itself may one day receive a back-end and become a stand-alone implementation. * Rapid Scheme is a proof that one can write non-trivial programs with the language as described by the R7RS. The development of Rapid Scheme helped to find a number of bugs in existing implementations of the R7RS, which are now fixed. * Each new implementation of R7RS is a proof that the R7RS has fulfilled its goals. Currently, I am using Larceny during the development of Rapid Scheme. I have also used Chibi Scheme, but for the Rapid Scheme code it is unfortunately many orders of magnitude slower than Larceny. I am thankful to the authors of the two implementations, especially to Will Clinger and Alex Shinn, for making their implementations Free Software, for their responsiveness to comments, questions, and bug reports, and for their contributions to the prosperity of the Scheme community. (Due to a few bugs in Larceny's 0.99 release, one has to use a development version to run Rapid Scheme. I am hoping that there will soon be a release of Larceny that incorporates the latest bug fixes.) Warning: Rapid Scheme has been announced as a *preview* release. As such, it is buggy for sure. Any bug report or constructive criticism is much appreciated. |
| Re: Announcement: Rapid Scheme 0.1 | Takashi Kato | 7/5/16 7:42 AM | Interesting! I'm trying to play around this and found a malformed and-let*
in the unpack-formals of primitive-environment.scm. The body of second and-let* is inside of the variable declarations. Cheers, |
| Re: Announcement: Rapid Scheme 0.1 | Marc Nieper-Wißkirchen | 7/5/16 8:09 AM | Thanks for catching this. The implementations of and-let* I have been using are so liberal that they didn't report the syntax violation (and did the right thing with the code).
I have pushed a corrected version to the GitLab repository. -- Marc |
| Re: Announcement: Rapid Scheme 0.1 | cesu...@gmail.com | 7/8/16 5:21 PM | Marc Nieper-Wißkirchen wrote:Prebuilt versions of a more-or-less current development version of Larceny can be downloaded from http://www.cesura17.net/~larcenists/Nightly/ Will |
| Re: Announcement: Rapid Scheme 0.1 | Marc Nieper-Wißkirchen | 7/9/16 1:11 AM | > Prebuilt versions of a more-or-less current development versionThat's great! Thank you very much. I am going to update Rapid's documentation soon. Marc |
| Re: Announcement: Rapid Scheme 0.1 | Marc Nieper-Wißkirchen | 7/9/16 1:13 AM | For those who want to follow development of the Rapid Scheme frontend, I have set up a simple web page with a blog, which is hosted at:
https://www.rapid-scheme.org Stay tuned. :-) Marc |