Central repository for development of the R7RS Large specification of the Scheme programming language https://r7rs.org/
Find a file
2025-04-14 15:48:13 +02:00
ballot-results Archive exact contents of the Stygian Blue/Reddish Green ballots 2025-04-01 23:46:14 +02:00
batteries Added empty directoties for additional reports 2022-12-23 17:32:07 -08:00
environment Added empty directoties for additional reports 2022-12-23 17:32:07 -08:00
fascicles Cleanup undefined variable access 2025-04-14 15:48:13 +02:00
html Improve print rendering 2024-10-02 22:38:54 +02:00
lib Some final-ish copy-edits to the macrological fascicle 2024-09-16 17:14:24 +02:00
r7rs-small First commit for R7RS-Large Report. 2022-12-23 17:06:10 -08:00
r7rs-t2p-macros First commit for R7RS-Large Report. 2022-12-23 17:06:10 -08:00
release move HTML-PROBLEMS to the release directory 2023-09-10 11:54:06 +02:00
render Initial working render 2023-10-22 23:23:39 +02:00
tex2page First commit for R7RS-Large Report. 2022-12-23 17:06:10 -08:00
.gitignore Initial working render 2023-10-22 23:23:39 +02:00
backup-issues.sh Add script to backup Codeberg issues to a WARC file 2023-10-23 18:23:23 +02:00
BATTERIES.txt Roadmap updates following ballot and procedural fascicle progress 2025-04-03 22:10:10 +02:00
build.bash First commit for R7RS-Large Report. 2022-12-23 17:06:10 -08:00
CODEOFCONDUCT.txt Add Code of Conduct for WG2 2024-09-24 17:14:11 +02:00
default.nix Temporarily (!) pin us to an old version of Pandoc 2024-09-10 12:21:38 +02:00
ENVIRONMENTS.txt Note impls in web browsers may not be able to provide Environments 2023-09-10 12:21:27 +02:00
FOUNDATIONS.txt Roadmap updates following ballot and procedural fascicle progress 2025-04-03 22:10:10 +02:00
FOUNDATIONSTOC.txt Roadmap updates following ballot and procedural fascicle progress 2025-04-03 22:10:10 +02:00
LICENCE.txt Correct typo 2023-11-18 21:52:57 +00:00
README.txt Merge in my changes to README file. 2022-12-26 17:09:55 -08:00

R7RS-LARGE REPORT

Vincent Manis <vmanis AT telus DOT net> 2022-12-23

This directory contains the TeX sources and build scripts for the
R7RS-Large Report. At present, it is envisioned that the Report will
consist of several separate documents (Foundations, Batteries
Included, Environment, and perhaps others). Each of these documents
will be added as a separate subdirectory here.

DEPENDENCIES

As its name suggests, build.bash requires a bash shell. If you are on
a Mac, the bash supplied with OSX is ancient. If the script doesn't
work, I would suggest installing the version of bash provided with
HomeBrew. On Windows, WSL2 is suggested.

You will need at least a minimal TeX system to format the
document. There is no need to install a complete TeX system; for
example, on a Debian (Ubuntu, Mint, etc) system, the package
texlive-base should be enough (later you will need xindy and
xindy-rules). 

You will also need a running Common Lisp or Scheme system to run
TeX2Page; the version here has been tested on SBCL, though it has been
reported that it also runs fine on Racket.

TeX2page generates PNG files, and therefore you will need NetPBM installed.

Thanks to Dorai Sitaram for his work on updating TeX2Page to improve 
its behavior on R7RS.

MANIFEST

This directory consists of the following.
  * build.bash: a script that builds one document, leaving behind a
    PDF file and an HTML directory
  * tex2page: a copy of the current TeX2page distribution (see
    PROVENANCE below)
  * r7rs-t2p-macros: the most current version of the macro set to be
    used with the R7RS document
  * r7rs-small: the TeX source for R7RS-Small
The TeX2page distribution is included so as to simplify the
installation process.

PROVENANCE

  * tex2page was obtained from  https://github.com/ds26gte/tex2page.git.
  * r7rs-t2p-macros was obtained from https://gitlab.com/ds26gte/r7rs-t2p-macros.
  * r7rs-small was obtained from https://github.com/johnwcowan/r7rs-spec.git
    (the `errata' branch); the subdirectory spec was renamed to r7rs.

HOW TO USE THE BUILD SCRIPT

First, if you don't have them, install TeX and a Common Lisp or Scheme
system (TeX2Page runs on a wide variety of Lisps and Schemes). Then install 
TeX2page; the INSTALL.adoc file will explain how. I leave TeX2page in this
directory, and copy the tex2page script to a directory on my path.

To process a document:

  1. If it doesn't exist, create a subdirectory named release; the PDF
     and HTML files will go there. 
  2. Issue the command
       ./build.bash --setup r7rs-small r7rs
  3. In the relatively unlikely case that either TeX or TeX2Page
     reports that a further pass or two is necessary, do
       ./build.bash r7rs-small r7rs
  4. The resulting files will be found in the subdirectory release.

BUGS AND TODOS

There are lots. These are roughly arranged in decreasing priority.

  1. Still lots of cosmetic problems in the HTML output; in some
     cases, we might want to fiddle the t2p file, in other cases, the 
     LaTeX source for the document can be adjusted.
  2. Move the class and style files out of the r7rs-small directory
     into a formats subdirectory.
  3. Reduce or eliminate the large number of underfull boxes that TeX
     complains about. This will make the output very slightly tidier.
  4. Indexing seems to have been done by a Scheme program. There is no
     reason not to use the Xindy package, which should be more than
     adequate for this purpose. This should be doable by adjusting
     some of the macros. I'm not sure whether Xindy is provided by
     M{iK,ac}TeX, which may limit its use on non-Linux systems.
  5. If somebody wants to do it, a Windows Batch or PowerShell
     counterpart of build.bash would be nice.

I will (eventually) investigate the Mac issues; someone else might
look at running this thing on Windows.

------------------------ (end) ----------------------------------