Re: Describing Scheme libraries (and thus SRFI's and R7RS) in a "machine readable" format (and rendering in various formats) Ciprian Dorin Craciun (13 Jul 2018 19:12 UTC)

Re: Describing Scheme libraries (and thus SRFI's and R7RS) in a "machine readable" format (and rendering in various formats) Ciprian Dorin Craciun 13 Jul 2018 19:12 UTC

So I have crossed a few more items from my TODO list:

* support for examples with explicit items such as:  actual code to be
evaluated, returned values, errors, stdin/stdout/stderr interactions;
for example see bellow, where each such "block" is clearly marked;
thus one can mechanically take these out of the documentation and
provide unit-tests;  (a further extension, perhaps in a different
file, but with similar semantic, is providing unit tests;)

  https://data.volution.ro/ciprian/c7be0c0ba57fbe06fc342c1fdd27adc1/documentation/libraries-html/r7rs/definitions/quasiquote.html#definition__r7rs__quasiquote__examples
  https://data.volution.ro/ciprian/c7be0c0ba57fbe06fc342c1fdd27adc1/documentation/libraries-html/r7rs/definitions/with-exception-handler.html#definition__r7rs__with-exception-handler__examples

* support for library "exports" -- kind of a misnomer, because what in
R7RS one calls a "library" I call an "export", however I think the
word "library" best describes "larger set" of modules or related
functionality;  for example the following link points to the contents
of R7RS `(scheme lazy)` "exports", and the second link points to R7RS
`delay` which has a section stating what one needs to do in order to
use it;  the third example shows how `interaction-environment` is part
of two "exports":

  https://data.volution.ro/ciprian/c7be0c0ba57fbe06fc342c1fdd27adc1/documentation/libraries-html/r7rs/exports/scheme_3a_lazy.html#export__r7rs__scheme_3a_lazy
  https://data.volution.ro/ciprian/c7be0c0ba57fbe06fc342c1fdd27adc1/documentation/libraries-html/r7rs/definitions/delay.html#definition__r7rs__delay
  https://data.volution.ro/ciprian/c7be0c0ba57fbe06fc342c1fdd27adc1/documentation/libraries-html/r7rs/definitions/interaction-environment.html#definition__r7rs__interaction-environment

* fixed the CSS by properly loading the Fira family of fonts and made
sure that the documentation is readable both on desktops and mobile;

I think the documentation is almost "feature-complete";  the only
thing I need to add is an "interactive search" (for example by
pressing a character one gets a list of all "entities" and by just
typing some words the list is filtered).

As usual all feedback is welcome.

Ciprian.