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.