[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] Add preliminary versions of the R7RS libraries along with do
Christopher Allan Webber
Re: [PATCH] Add preliminary versions of the R7RS libraries along with documentation and tests
Thu, 09 Mar 2017 18:50:43 -0600
mu4e 0.9.18; emacs 25.1.1
Freja Nordsiek writes:
> I've written preliminary versionf of all the R7RS libraries along with
> documentation and unit tests for most of the procedures I had to add
> (none for those that were re-exports/renames of existing procedures in
> Guile). Sorry for the bad timing (right before the 2.2 release).
> I was inspired by the work in the r7rs-wip branch
> (https://git.savannah.gnu.org/cgit/guile.git/log/?h=r7rs-wip). I
> figured it would be a lot of work to get that branch up to date since
> the last commit was in mid 2014, so I decided to write just the
> libraries themselves but not work on adding any of the R7RS syntax
> that hasn't already been added by others to the master branch. I wrote
> the libraries in pure scheme and did not modify any other scheme
> modules or C code to simplify inclusion (they won't have side effects
> on other modules or code). Note that I did grab Mark H Weaver's
> implementation of the load procedure/syntax. I didn't copy more code
> because I wanted to make adding this to Guile not dependent on any
> changes to the parts in C or other scheme modules (would have taken a
> long time to sort out which changes in r7rs-wip branch depend on such
> modifications and which do not).
> The tests for what I added check out and the documentation compiles to
> info and html (compiling texinfo to pdf is broken on my computer for
> all projects so I wasn't able to test that).
> Note, I was not able to make unit tests for load, include, and
> include-ci. file-error? and read-error? are not 100% reliable, and my
> implementation of the bytevector output ports is a bit of a hack job.
> Also, I did not update cond-expand or include the R7RS syntax for
> declaring libraries. Those things are still missing.
> Patch is rather large.
I'm the wrong person to comment on candidate for inclusion-ness, but it
looks like impressive work. Doing things in pure scheme is pretty cool.